作者回复: 对 LIKE '%X' 会让索引失效
作者回复: Good Job
作者回复: 你可以查看下MySQL中的performance_schema.table_io_waits_summary_by_index_usage数据表,它表明了每个索引进行统计的I/O等待事件,其中COUNT_STAR代表了事件的次数。过滤掉一些系统表,查看下数据表中有哪些索引不经常使用,具体的SQL语句:SELECT OBJECT_SCHEMA, OBJECT_NAME, INDEX_NAME,COUNT_STAR FROM performance_schema.table_io_waits_summary_by_index_usage
WHERE INDEX_NAME IS NOT NULL
AND COUNT_STAR = 0
AND OBJECT_SCHEMA != 'mysql' AND OBJECT_SCHEMA != 'performance_schema'
作者回复: 对的 如果%在左侧就是前模糊匹配,有索引也会失效。所以字符串进行匹配的时候,需要最左侧是个明确的字符才能使用上索引。
作者回复: 对的
作者回复: 一本经典的书《Towards a Logical Reconstruction of Relational Database Theory》
另外关系型数据库里面也有不同的使用场景,比如关于图像检索的
《Chabot: Retrieval from a Relational Database of Images》
查询XML的:
《Storing and querying ordered XML using a relational database system》
作者回复: 因为文件大于100M,就先放到百度网盘:https://pan.baidu.com/s/1LBEAm50DDP9AjErLtGplLg
提取码:32ep
多谢建议,我把它也放到GitHub上,大于100M的给出百度网盘的链接
作者回复: Good Job
作者回复: SQL执行顺序:
SELECT DISTINCT player_id, player_name, count(*) as num #顺序5
FROM player JOIN team ON player.team_id = team.team_id #顺序1
WHERE height > 1.80 #顺序2
GROUP BY player.team_id #顺序3
HAVING num > 2 #顺序4
ORDER BY num DESC #顺序6
LIMIT 2 #顺序7
作者回复: 哈哈 谢谢旅途同学 Fighting~
作者回复: 对的 说明的不错
作者回复: 加油卡布
作者回复: 这个看需求,对于某个疾病(发病率很低)的正样本,可以选择创建索引。如果性别男女都需要查看,可以不建索引,对于女性,优化器也不会使用索引进行查找。