数据库
胡撸娃哈哈
码来!
展开
-
mysql 使用like索引是否生效
实验在表中已经添加索引:device_serial_number -> idx_serial_number, access_time -> idx_access_time% 在左边:sql: EXPLAIN SELECT tar.id FROM t_access_record tar where 1=1 and tar.device_serial_number like 'D20001005%' ORDER BY tar.access_time desc LIMIT原创 2020-10-22 19:58:59 · 1131 阅读 · 4 评论 -
mysql索引设计原则
引用自深入浅出mysql数据库开发1、搜索的索引列, 不一定是所要选择的列搜索的索引列, 不一定是所要选择的列。 换 句话说, 最 适合索引的列是出现在WHERE 子 句中的列,或连接子句中指定的列,而不是出现S在ELECT 关键字后的选择列表中的列。2、使用惟一索引考虑某列中值的分布。 对于惟一值的列, 索 引的效果最好, 而具有多个重复值的列,其索引效果最差。例如,存放年龄的列具有不同值,很容易区分 各行。 而用来记录性别的列,只含有“ M”和“F”,则对此列进行索引没有多大用处(不管 搜.原创 2020-10-22 18:10:14 · 150 阅读 · 0 评论 -
mysql 中 REGEXP 和IN 的效率对比
实例为了探索这个问题,新建一个表 t_personCREATE TABLE `NewTable` (`id` int(11) NOT NULL AUTO_INCREMENT ,`p_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL ,`ctime` datetime NULL DEFAULT NULL ,`utime` datetime NULL DEFAULT NU原创 2020-10-21 22:21:10 · 2541 阅读 · 0 评论 -
解决where + order by检索很慢的问题
缘起项目中用到了这样一个语句SELECT id FROM t_access_record WHERE person_id = '985c30aad13911ea8f72509a4c827c5c'ORDER BY access_time desc其中,person_id 和 access_time添加了索引,但是检索速度超级慢(70s+),去掉其中where后只需要200ms+, 加上where去掉order by后也只需要到200ms+。使用explain查看语句执行情况发现只使用了acce原创 2020-10-19 11:32:09 · 1075 阅读 · 0 评论