当前位置: 首页 > news >正文

西安手机商城网站设计营销网站设计上海天气

西安手机商城网站设计,营销网站设计上海天气,wordpress 后台密码错误,南京市住房建设网站MySQL索引的一些问题 注意#xff1a;本文基于MySQL的InnoDB引擎说明。 一、什么是最左前缀原则 对于该表#xff0c;如果按照name字段来建立索引的话#xff0c;采用B树结构#xff0c;大概的索引如下#xff1a; 如果要进行模糊查找#xff0c;查找name 以“张…MySQL索引的一些问题 注意本文基于MySQL的InnoDB引擎说明。 一、什么是最左前缀原则 对于该表如果按照name字段来建立索引的话采用B树结构大概的索引如下 如果要进行模糊查找查找name 以“张开头的所有人的ID即 sql 语句为 select ID from table where name like 张% 由于在B树结构的索引中叶子节点是一个有序的链表当我们快速定位到 ID 为 100的张一后可以直接向右遍历所有张开头的人直到条件不满足为止。这种定位到最左边然后向右遍历寻找的方式就是我们所说的最左前缀原则。 只是当个索引在组合索引中更能感受到 示例一个(a,b,c)的组合索引。 通过a,b条件查询能不能使用或命中这个索引-----能通过b,c条件查询能不能使用或命中这个索引-----不能原因索引文件具有B-Tree 的最左前缀匹配特性如果左边的值未确定那么无法使用此索引。 二、为什么用B树作索引二不用哈希表作索引 1. 不支持模糊查询哈希表是把索引字段映射成对应的哈希码然后再存放在对应的位置这样的话如果我们要进行模糊查找的话显然哈希表这种结构是不支持的只能遍历这个表。而B树则可以通过最左前缀原则快速找到对应的数据。 2. 不支持范围查询如果我们要进行范围查找例如查找ID为100 ~ 400的人哈希表同样不支持只能遍历全表 3. 哈希冲突影响查询效率索引字段通过哈希映射成哈希码如果很多字段都刚好映射到相同值的哈希码的话那么形成的索引结构将会是一条很长的链表这样的话查找的时间就会大大增加 三、主键索引和非主键索引的区别 例如下表(其实就是上面的表中增加了一个k字段)且ID是主键。 主键索引和非主键索引的示意图如下 其中R代表一整行的值 由图可以看出主键索引和非主键索引的区别主键索引叶子节点存放的是整行数据非主键索引的叶子节点存放的是主键的值。非主键索引也被称为二级索引、非聚簇索引而主键索引也被称为聚簇索引。 1使用这两种结构进行查询看看区别 如果查询语句是 select * from table where ID 100即主键查询的方式则只需要搜索 ID 这棵 B树。如果查询语句是 select * from table where k 1即非主键的查询方式则先搜索k索引树得到ID100再到ID索引树搜索一次这个过程也被称为回表。 四、聚集索引和非聚集索引的区别 聚集索引和聚簇索引是不同不知道对不对我找的资料是这样说的 1. 聚集索引指索引项的排序方式和表中数据记录排序方式一致的索引  也就是说聚集索引的顺序就是数据的物理存储顺序。它会根据聚集索引键的顺序来存储表中的数据即对表的数据按索引键的顺序进行排序然后重新存储到磁盘上。因为数据在物理存放时只能有一种排列方式所以一个表只能有一个聚集索引。 2. 非聚集索引 索引顺序与物理存储顺序不同 五、为什么建议使用自增主键作索引 如果主键是自增的每次插入的 ID 都会比前面的大那么每次只需要在后面插入就行 不需要移动位置、分裂等操作。从性能和存储空间方面考量自增主键往往是更合理的选择。 六、覆盖索引 select * from T where k between 3 and 5  这种查询K的索引搜索到主键 然后搜索主键的索引 拿到具体的信息有回表 select ID from T where k between 3 and 5 这时只需要查 ID 的值而 ID 的值已经在 k 索引树上了因此可以直接提供查询结果不需要回表 由于覆盖索引可以减少树的搜索次数显著提升查询性能所以使用覆盖索引是一个常用的性能优化手段。 也就是说你要找的数据已经在索引上不需要再回表。 七、一个关于索引的题 CREATE TABLE geek (a int(11) NOT NULL,b int(11) NOT NULL,c int(11) NOT NULL,d int(11) NOT NULL,PRIMARY KEY (a,b),KEY c (c),KEY ca (c,a),KEY cb (c,b) ) ENGINEInnoDB; 问题哪个索引可以去掉 主键 ab 的聚簇索引组织顺序相当于 order by a,b 也就是先按 a 排序再按 b 排序c 无序。 索引 ca 的组织是先按 c 排序再按 a 排序同时记录主键 所以索引ca 与 索引c 的数据是一模一样的 索引 cb 的组织是先按 c 排序在按 b 排序同时记录主键 所以结论是ca可以去掉cb保留。
http://www.pierceye.com/news/424724/

相关文章:

  • 辽源市网站建设怎么学做电商
  • 做pc端网站行情网站标签化
  • 中国做的很好的食品网站php图片网站源码
  • 做自媒体小视屏哪个网站好邹平网站建设公司
  • 字体样式 网站layui 网站建设模板
  • 沈阳网站设计江苏城乡建设部网站首页
  • 网站手机端生成wordpress如何下载
  • 网站数据抓取怎么做营销型网站开发定制
  • 福州营销型网站建设中国建设工程信息网站
  • 怎么在服务器里面做网站公司网站模板怎么做
  • 网站建设制作设计营销公司杭州石家庄网络公司哪家好
  • 重庆网站制作特点优势互联免费主机
  • 义乌网站制作多少钱wordpress有访客记录
  • 网站改版建议策划书百度搜索名字排名优化
  • 做药的常用网站wordpress加载js代码
  • 网站备案 通知杭州企业展厅设计公司
  • 简单个人网站开发代码广州白云区建设局网站
  • 网站空间控制面板软件做网站设计前景怎么样
  • 交流平台网站怎么做不了在家做网站编辑
  • 网站管理员登陆不了免费网页上传网站
  • 关于网站建设的英文歌外网设计素材网站
  • 中山比好的做网站的公司扫二维码直接进网站怎么做
  • 上海互联网网站建设东莞系统网站建设
  • 系部网站建设创新点外贸平台网站的营销方式
  • 做网站不给源代码吉林省招标网官方网站
  • 设计公司网站需要什么条件韩国能否出线
  • 做网站每个月可以赚多少钱公司注册网上怎么申请核名
  • 网站做防伪查询代码高校网站建设意义
  • 网站建设个人年终总结电子商务网站开发主要有哪些
  • 网站的二级页面在哪里做wordpress最好最全的教程