问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql数据库,索引是怎么使用的

发布网友 发布时间:2022-04-26 02:56

我来回答

3个回答

热心网友 时间:2022-04-30 09:19

MySQL支持很多数据类型,选择合适的数据类型存储数据对性能有很大的影响。通常来说,可以遵循以下一些指导原则:
(1)越小的数据类型通常更好:越小的数据类型通常在磁盘、内存和CPU缓存中都需要更少的空间,处理起来更快。
(2)简单的数据类型更好:整型数据比起字符,处理开销更小,因为字符串的比较更复杂。在MySQL中,应该用内置的日期和时间数据类型,而不是用字符串来存储时间;以及用整型数据类型存储IP地址。
(3)尽量避免NULL:应该指定列为NOT NULL,除非你想存储NULL。在MySQL中,含有空值的列很难进行查询优化,因为它们使得索引、索引的统计信息以及比较运算更加复杂。你应该用0、一个特殊的值或者一个空串代替空值。

热心网友 时间:2022-04-30 10:37

索引可以加快数据库的检索速度,当你进行检索的时候自然就用到索引了.

热心网友 时间:2022-04-30 12:12

在满足语句需求的情况下,尽量少的访问资源是数据库设计的重要原则,这和执行的 SQL 有直接的关系,索引问题又是 SQL 问题中出现频率最高的,常见的索引问题包括:无索引(失效)、隐式转换。1. SQL 执行流程看一个问题,在下面这个表 T 中,如果我要执行 需要执行几次树的搜索操作,会扫描多少行?

这分别是 ID 字段索引树、k 字段索引树。

这条 SQL 语句的执行流程:

1. 在 k 索引树上找到 k=3,获得 ID=3002. 回表到 ID 索引树查找 ID=300 的记录,对应 R33. 在 k 索引树找到下一个值 k=5,ID=5004. 再回到 ID 索引树找到对应 ID=500 的 R4

5. 在 k 索引树去下一个值 k=6,不符合条件,循环结束

这个过程读取了 k 索引树的三条记录,回表了两次。因为查询结果所需要的数据只在主键索引上有,所以必须得回表。所以,我们该如何通过优化索引,来避免回表呢?2. 常见索引优化2.1 覆盖索引覆盖索引,换言之就是索引要覆盖我们的查询请求,无需回表。

如果执行的语句是 ,这样的话因为 ID 的值在 k 索引树上,就不需要回表了。

覆盖索引可以减少树的搜索次数,显著提升查询性能,是常用的性能优化手段。

但是,维护索引是有代价的,所以在建立冗余索引来支持覆盖索引时要权衡利弊。

2.2 最左前缀原则

B+ 树的数据项是复合的数据结构,比如 的时候,B+ 树是按照从左到右的顺序来建立搜索树的,当 这样的数据来检索的时候,B+ 树会优先比较 name 来确定下一步的检索方向,如果 name 相同再依次比较 sex 和 age,最后得到检索的数据。

可以清楚的看到,A1 使用 tl 索引,A2 进行了全表扫描,虽然 A2 的两个条件都在 tl 索引中出现,但是没有使用到 name 列,不符合最左前缀原则,无法使用索引。所以在建立联合索引的时候,如何安排索引内的字段排序是关键。评估标准是索引的复用能力,因为支持最左前缀,所以当建立(a,b)这个联合索引之后,就不需要给 a 单独建立索引。原则上,如果通过调整顺序,可以少维护一个索引,那么这个顺序往往就是需要优先考虑采用的。上面这个例子中,如果查询条件里只有 b,就是没法利用(a,b)这个联合索引的,这时候就不得不维护另一个索引,也就是说要同时维护(a,b)、(b)两个索引。这样的话,就需要考虑空间占用了,比如,name 和 age 的联合索引,name 字段比 age 字段占用空间大,所以创建(name,age)联合索引和(age)索引占用空间是要小于(age,name)、(name)索引的。

2.3 索引下推

以人员表的联合索引(name, age)为例。如果现在有一个需求:检索出表中“名字第一个字是张,而且年龄是26岁的所有男性”。那么,SQL 语句是这么写的

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
工会主席权限 魅族坏了怎么办 网上买的魅族手机坏了可以保修吗?自己弄坏的,手机花屏,修要多少钱... 从梁溪路公益路公交站到建筑路夏联福记酒店坐什么公交最方便? 退货保和运费险有什么不同 现代Logo设计趋势是什么 优秀的logo设计有什么特征? 哪些品牌的鱼竿质量好 光威悟法师和达瓦一击哪个好 有人了解大卫地板吗?怎么样呢? MYSQL索引问题:索引在查询中如何使用? 那位高手能告知关于INDEX函数的详细用法?谢谢 mysql索引的创建和使用 mysql index创建了索引名后怎麼使用 mysql中index的如何使用,判断什么时候加索引 鸡蛋汤会回奶吗 黄瓜鸡蛋汤减肥吗 黑芝麻,胡萝卜,黑豆,木耳海带,全部打成汁能一起吃? 吃核桃芝麻蛋汤红糖蛋汤有什么好处 黑芝麻用什么烧汤好 日常生活中,黑芝麻怎样吃才好吃呢? 早餐常吃黑芝麻加红肉鸡蛋汤玉米胡萝卜同食可以吗? 香葱黑芝麻蛋汤有什么效果 如何才能把黑芝麻做的更好吃一些? 微信聊天记录能迁移到另一个吗? 黑芝麻煮鸡蛋的做法? 黑芝麻和鸡蛋怎样煲 芝麻鸡蛋汤功效与作用 黑芝麻鸡蛋汤的功效 银行卡号身份证号手机号泄露会有什么危险? SQL语句中INDEX函数 INDEX函数的引用形式 excel怎么编辑公式去除字符串 excel函数怎样删除字符串中指定的字符 在excel中,如何使用函数删除多余的字符 请问excel里怎么使用函数去除掉一个字符串里的某个字符 在excel中,去掉单元格的右4个字符 请问excel里怎么使用函数去除掉一个字符串里的某个字符? Excel单元格问题,如何用函数删除前几位的字符 在Excel 中如何删除同一个字符? 苹果7咋弄出电量数字显示? 苹果手机怎么设置电池显示百分比? 谁可以将下载好的 美少女梦工厂4完璧版 可以的话,我们QQ联系 厦门如何清洗空调内机 厦门空调清洗价格一般是多少呀,有懂行的么 厦门哪里有专业清洗空调的公司?厦门专业做空调清洗的公司电话是多少? 厦门空调清洗电话 厦门空调清洗多少钱 厦门哪里有空调清洗的,求知道的推荐下呀 厦门思明区空调清洗电话 厦门思明区空调清洗多少钱 清洗空调的消毒剂厦门哪里有卖