以小博大外小内大,Db数据库SQL优化之小数据驱动大数据

    SQL优化中,有一条放之四海而皆准的既定方针,那就是:永远以小数据驱动大数据。其本质其实就是以小的数据样本作为驱动查询能够优化查询效率,在SQL中,涉及到不同表数据的连接、转移、或者合并,这些操作必须得有个数据集作为“带头”大哥,即驱动数据,而这个驱动数据最好是数据量最小的那一个。    内大外小    在讨论数据库之前,日常开发中,我们经常会遇到数据样本数量不一致,但是需要进行检索的情况,比如某人在地铁的某节车厢里捡到N台Ip......

以小博大外小内大,Db数据库SQL优化之小数据驱动大数据

霜皮剥落紫龙鳞,下里巴人再谈数据库SQL优化,索引(一级/二级/聚簇/非聚簇)原理

    举凡后端面试,面试官不言数据库则已,言则必称SQL优化,说起SQL优化,网络上各种“指南”和“圣经”难以枚举,不一而足,仿佛SQL优化已然是妇孺皆知的理论常识,然后根据多数无知(Pluralistic ignorance)理论,人们印象里觉得多数人会怎么想怎么做,但这种印象往往是不准确的。那SQL优化到底应该怎么做?本次让我们褪去SQL华丽的躯壳,以最浅显,最粗俗,最下里巴人的方式讲解一下SQL优化的前因后果,前世今生。    SQL优化背景&nb......

霜皮剥落紫龙鳞,下里巴人再谈数据库SQL优化,索引(一级/二级/聚簇/非聚簇)原理

心动不如行动,基于Docker安装关系型数据库PostgrelSQL替代Mysql

    最近“全栈数据库”的概念甚嚣尘上,主角就是PostgrelSQL,它最近这几年的技术发展不可谓不猛,覆盖OLTP、OLAP、NoSQL、搜索、图像等应用场景,实实在在的全栈性发展。帮助公司解决了数据孤岛、数据平台多、同步一致性、延迟,软硬件成本增加等业务痛点,在互联网、金融、物联网、传统企业等领域得到了广泛的应用。PostgreSQL的应用场景丰富,不亚于商用数据库Oracle,常被业界称为“开源界的Oracle”。    至于Mysql大家都很熟......

心动不如行动,基于Docker安装关系型数据库PostgrelSQL替代Mysql

简短截说阐述redis中事务(Redis Transactions)的使用

    我们知道,在关系型数据库中,比如mysql,如果要使用事务,首先向数据库服务器发送 BEGIN ,然后执行各个相互一致的写操作和读操作,最后,用户可以选择发送 COMMIT 来确认之前所做的修改,或者发送 ROLLBACK 来放弃那些修改。     同样, Redis 中也有简单的方法处理一连串相互一致的读操作和写操作。首先是以 MULTI 命令开始事务,后续跟着一连串命令,最后以 EXEC 结束......

简短截说阐述redis中事务(Redis Transactions)的使用

在阿里云Centos7.6上面配置Mysql主从数据库(master/slave),实现读写分离

    在之前的一篇文章中,阐述了如何在高并发高负载的场景下使用nginx做后台服务的负载均衡:在阿里云Centos上配置nginx+uwsgi+负载均衡配置,但是不要以为这样做了就是一劳永逸的,到了数据业务层、数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器负载,如此多的数据库连接操作,数据库必然会崩溃,数据库如果宕机的话,后果更是不堪设想。这时候,我们会考虑如何减少数据库的连接,一方面采用优秀的代码框架,进行代码的优化,采用优秀的数据缓存技术如:redi......

在阿里云Centos7.6上面配置Mysql主从数据库(master/slave),实现读写分离

关于mac系统中进入mysql遇到 Access denied for user 'root'@'localhost' (using password: YES)解决方案

  Access denied for user 'root'@'localhost' (using password: YES)  usering password:YES 其实不用怀疑,密码输入正确,既然不是密码的问题那就是mysql服务出问题了,具体解决流程如下:  1) Stop mysql (Kill mysql process or run following command) 停止mysql服务       &n......

Mysql 对于出现保留关键字的情况要使用双撇号

  今天在操作数据库往表中插入数据时,表中有个key字段,怎么添加都不行,总是报错。  key是mysql关键字insert into tb_config (key,val) values ('vm.0.8','192.168.137.188:9080');一直报错。修改为key二端加撇号(`)insert into tb_config (`key`,val) values ('vm.0.8','192.168.137.188:9080');......