在网上翻来覆去找不到一套适合新手自学的书,于是买了课,急急忙忙上完了课,又发现全还给老师了。 这一系列文放在这里,从下载软件开始,记录一条MySQL入门之旅。 新手也可以跟着这条路走,一条道走到黑。 粉丝可见,愿者上钩。 有任何疑问,参考三篇上课笔记,或者私信我。
天天听人家说 ”查询优化“,以前用sqlite的时候总是不能理解,优化啥?不就那么些语句嘛。
入门MySQL之初,老师讲过一些,大致有点了解。入门(二)的时候写了索引,又了解了一点。
今天再来了解一下具体该如何个 ”查询优化“法。
查找算法了解多少?
树、B树、红黑时、哈希表了解多少?了解的话自然就知道了。不了解的话,就去了解吧哈哈哈,辣个是基础,不了解怎么行。
用来加快查询的技术有很多,其中最重要的是索引。通常,能够造成查询速度最大差异的是索引的正确使用。很多时候,当查询速度很慢时,添加上索引后就能迅速解决问题。但情况也不总是这样,因为优化并不总是- -件简单的事情。然而,在许多情况下,假如你不使用索引,那么试图通过其他途径来提高性能则纯粹是浪费时间。你应该首先使用索引来最大程度地改进性能,然后再看是否还有其他技术可以采用。
创建、删除索引第二篇说过了,现在学习一下如何 “因时制宜” 地挑选索引
你懂得。
你懂得。
要是不懂那我讲得清楚点:
1、索引是不是也要匹配?
2、索引是不是也要一张索引表来存储?
3、调用索引是是不是要调用索引表?
参考4.3
具体看上面三节课的笔记中的第二节。
当你发出一个选取数据行的查询语句时,MySQL就会分析它,并考虑是否可以对它进行优化以加快查询。
那么,我们要如何来配合这个查询优化程序的工作呢?
explain语句放在select之前,
6、尽量使用数据类型相同的数据列进行比较
对带有索引的数据进行比较时,如果它们的数据类型相同,查询性能就会高一些,如果它们的数据类型不同,查询性能就会低一些。
7、尽量不要在like模式的开始位置使用通配符
8、避免过多使用MySQL的自动类型转换功能