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

网站建设国家标准网站代理建设

网站建设国家标准,网站代理建设,新手销售怎么和客户交流,互联网服务平台备案单位机动车引言 本文翻译自MySQL 官网 #xff1a;How MySQL Uses Indexes #xff0c;MySQL 版本 5.7 。 提升 SELECT 操作性能最好的方式就是在查询的一列或多列上建立索引。索引的行为类似指向表数据的指针#xff0c;可以让查询能够快速判断哪个记录满足 WHERE 子句中的条件How MySQL Uses Indexes MySQL 版本 5.7 。 提升 SELECT 操作性能最好的方式就是在查询的一列或多列上建立索引。索引的行为类似指向表数据的指针可以让查询能够快速判断哪个记录满足 WHERE 子句中的条件然后取得这些记录的其他字段的值。所有的 MySQL 数据类型都支持索引。 虽然在可能用于查询的所有字段上都建立索引的做法是非常诱人的但是不必要的索引既浪费存储空间同时也浪费了MySQL 决定用哪个索引的时间。索引也会增加 insert、update、delete 等更新操作的开销因为每个索引都必须更新。你必须找到恰当的平衡点使用最理想的索引集合来实现快速的查询。 MySQL 如何使用索引 索引被用于快速查找特定的列值对应的记录。没有索引MySQL 就必须得从表的第一行开始然后读取整张表才能找到符合条件的记录。表越大花费的时间就越多。如果表里有一个正好适合查询情况的索引MySQL 就可以快速在表中确定对应的位置而不需要搜索所有数据。这比连续读取每一行要快不少。 绝大多数MySQL 索引PRIMARY KEYUNIQUE INDEX  和 FULLTEXT都以 B 树的形式存储。例外的情况空间数据类型spatial data type的索引使用 R 树MEMORY 存储引擎也支持 hash 索引。InnoDB 使用倒排表inverted lists来实现 FULLTEXT 索引。 下面的讨论描述了索引使用的一般情况。关于 hash 索引的具体特征请移步至https://dev.mysql.com/doc/refman/5.7/en/index-btree-hash.html 未来我会对该章进行单独翻译并会更新此处的连接 MySQL 会在以下操作中使用索引 1、用于快速找到匹配 WHERE 子句的记录。 2、用于缩小数据检索范围。如果有多个索引可供选择MySQL normally uses the index that finds the smallest number of rows (the most selective index). MySQL 通常会使用可以找到最小记录数的索引最具选择性的索引。 3、如果表有一个复合索引那么索引中任何最左侧的前缀都可以被优化器使用。例如如果你有一个三列复合索引如(col1, col2, col3) 那么你有三种索引搜索的可选方案(col1)、(col1,col2)、以及(col1,col2, col3)。 4、当执行连接查询时取得其他表中的记录如果索引字段声明了同样的类型和大小那么 MySQL 会更有效地利用该列上的索引。在这种语境下VARCHAR 和 CHAR 如果大小一致那么就可以认为是同种类型。例如 VARCHAR(10) 和 CHAR(10) 具有相同的大小但是 VARCHAR(10) 和 CHAR(15) 就不是了。 对于比较非二进制字符串列值两个列必须具有相同的字符集。例如比较 utf8 的字段和 latin1 的字段就会影响到使用索引。 比较不同类型的字段如字符串和时间类型或数值类型等如果两个值不经过转换就无法直接比较的话那么同样会无法使用索引。有一个给定的数值类型 1 可能会与1  100001 或 01.e1 这样的字符串比较。那么这种情况就无法使用任何索引。 5、To find the MIN() or MAX() value for a specific indexed column key_col. This is optimized by a preprocessor that checks whether you are using WHERE key_part_N  constant on all key parts that occur before key_col in the index. In this case, MySQL does a single key lookup for each MIN() or MAX()expression and replaces it with a constant. If all expressions are replaced with constants, the query returns at once. For example:  SELECT MIN(key_part2),MAX(key_part2)FROM tbl_name WHERE key_part110; 上面这段话我没有理解官方文档的意思有能翻译的同学帮忙评论区留个言非常感谢 6、用于排序或分组已经使用索引的左前缀排好序或分好组的表例如ORDER BY key_part1, key_part2。如果所有字段都使用 DESC 那么索引就会以相反的顺序读取。 7、有些情况优化器可以优化查询不需要访问原始记录就可以获取数据。可以获取全部查询必要信息的索引叫做覆盖索引如果查询列表只查询了那些包含在索引中的字段那么查询的值可以以更快的速度从索引树中获取: SELECT key_part3 FROM tbl_nameWHERE key_part11 索引对于小表不那么重要对于那些需要查询绝大多数行或全部行的大表也不那么重要。如果查询需要访问绝大多数记录那么按序读取会比使用索引更快。连续的读取可以最小化磁盘搜索即使并不是所有记录都需要查询。
http://wiki.neutronadmin.com/news/365332/

相关文章:

  • 网站开发外包费用北京做网站的好公司
  • 电商网站订货msn网站制作
  • linux下载wordpress网站建设和网站优化哪个更重要
  • 上海网站开发哪里好薇工作简历模板
  • 怎样安装网站模板免费的企业网站建设
  • 深圳外贸商城网站建设制作网站的平台
  • vi设计网站排行榜商城网站服务器
  • 网站模板用什么打开温州网站制作推广
  • 移动网站建设论文室内设计平面图软件
  • 四川建设局网站首页国内做网站制作比较
  • 襄阳市建设局网站插画师零基础自学
  • 旅游网站建设经费预算优化wordpress调用文章函数
  • 怎么在网站标头做图标企业seo网站营销推广
  • 会宁网站建设公司wordpress.org移除
  • 百度站长怎么做网站维护windows7优化大师官方下载
  • 网站开发人力成本wordpress cas
  • 快速建设企业网站公益机构网站建设方案
  • 乐清网站建设做网站799元没有经验可以做新媒体运营吗
  • 软件开发培训南京百度提升优化
  • 如何备份织梦系统做的网站网络营销推广策略
  • 找人做彩票网站有哪些做网站公司找哪家
  • 西安做网站哪家便宜蚌埠市建设学校网站
  • 做公司网站哪个好杭州市江干建设局网站
  • 银川住房和城乡建设局网站网站个人中心wordpress
  • 物流管理网站建设域名解析ip138在线查询
  • 招远网站制作wordpress file upload
  • 盘锦市网站建设wordpress主题建站
  • 马云有没有学过做网站移动开发软件
  • 做企业网站服务器在国外开个网站做英语培训
  • 专业团队图片原图河北百度竞价优化