mysql
文章平均质量分 62
jeffrey11223
这个作者很懒,什么都没留下…
展开
-
程序代码里不要使用select * 的两个理由
1,不需要的字段会增加数据传输的时间,即使mysql服务器和客户端是在同一台机器上,使用的协议还是tcp,通信也需要额外的时间。 2,select * 可能会获取到自己不需要的列,如果以后表结构修改了,同样也可能会对代码产生影响。比如表增加了一个字段,而我代码与其对接的对象属性里没有这个字段,select * 就会导致报错。原创 2017-12-23 21:53:47 · 2935 阅读 · 1 评论 -
mysql explain执行计划 参数解读
explain使用 随着业务逻辑的复杂化和数据量的扩展,慢sql的问题就会出现,此时需要通过查看执行计划来对一些慢sql进行优化,下文是对explain的各个参数的解读。参数解读 在sql语句前面加上explain关键字,即可查看执行计划。如: explain select instrument_id from quote_kline_1day where instrument_原创 2018-01-14 22:21:27 · 515 阅读 · 0 评论 -
mysql 聚集索引 非聚集索引 概念梳理
聚集索引 一种索引,该索引中键值的逻辑顺序决定了表中相应行的物理顺序。 聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,后者按姓氏排列数据。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(联合索引)(不过mysql的innodb只支持主键聚集索引,不支持联合聚集索引),就像电话簿按姓氏和名字进行组织一样。非聚集索引 一原创 2018-01-07 21:44:24 · 8300 阅读 · 4 评论 -
mysql中 执行计划的extra字段---- using where , using index 和 using where & using index 整理
先上表结构: CREATE TABLE table ( xxx varchar(20) NOT NULL, yyy varchar(20) NOT NULL, zzz datetime NOT NULL, aaa varchar(10) NOT NULL, PRIMARY KEY (xxx,yyy,zzz), ) ENGINE=InnoDB DEFAULT CHARSET=utf8m原创 2018-01-19 11:43:23 · 25049 阅读 · 14 评论 -
结合innodb的B+树索引来优化sql查询一例
先上表结构:CREATE TABLE `quote_xxxxx` ( `instrument_id` varchar(20) NOT NULL, `time_type` varchar(20) NOT NULL, `datetime` datetime NOT NULL,... `metal` varchar(20) NOT NULL DEFAULT '', PRIMARY...原创 2018-09-30 10:30:41 · 496 阅读 · 0 评论 -
mysql分库分表技术选型时需要注意的点
首先需要明确的一些概念和问题:原先:一个库一张表,即db和table。水平拆分之后:多个库多张表,即 { db1,db2,db3,… } 和 { table1,table2,table3,… },假设现在有物理机器 { server1,server2,server3,… },那么这三者之间的对应分配关系是?是一对多还是一对一?在中间件看来,shard指的是db这个维度?中间件目前对sq...原创 2018-12-16 20:57:28 · 628 阅读 · 0 评论