2021
07-04
07-04
MySQL 独立索引和联合索引的选择
通常会对多列索引缺乏理解,常见的错误是将很多列设置独立索引,或者是索引列使用错误的次序。我们在下一篇讨论索引列次序的问题,首先看一下多列独立索引的情况,以下面的表结构为例:CREATETABLEtest(c1INT,c2INT,c3INT,KEY(c1),KEY(c2),KEY(c3),);使用这种索引策略通常是一些权威的建议(例如在WHERE条件中用到的条件列增加索引)的结果。事实上,这是大错特错的,要评分的话顶多给1颗星。这种方式的索引与真...
继续阅读 >
联合索引本文中联合索引的定义为(MySQL):ALTERTABLE`table_name`ADDINDEX(`col1`,`col2`,`col3`);联合索引的优点若多个一条SQL,需要多个用到两个条件SELECT*FROM`user_info`WHEREusername='XX',password='XXXXXX';当索引在检索password字段的时候,数据量大大缩小,索引的命中率减小,增大了索引的效率。符合索引的索引体积比单独索引的体积要小,而且只是一个索引树,相比单独列的索引要更加的节省时间复杂度和空...
查询背景有一个表tmp_test_course大概有10万条记录,然后有个json字段叫outline,存了一对多关系(保存了多个编码,例如jy1577683381775)我们需要在这10万条数据中检索特定类型的数据,目标总数据量:2931条SELECTCOUNT(*)FROMtmp_test_courseWHERE`type`=5ANDdel=2ANDis_leaf=1我们在限定为上面类型的同时,还得包含下面任意一个编码(也就是OR查询)jy1577683381775jy1577683380808jy1577683379178jy1577683378676jy1577...