Indexes (also called “keys” in MySQL)

High Performance MySQL, Third Edition

by Baron Schwartz, Peter Zaitsev, and Vadim Tkachenko

Is an Index the Best Solution?
An index isn’t always the right tool. At a high level, keep in mind that indexes are most effective when they help the storage engine find rows without adding more work than they avoid. For very small tables, it is often more effective to simply read all the rows in the table. For medium to large tables, indexes can be very effective. For enormous tables, the overhead of indexing, as well as the work required to actually use the indexes,can start to add up. In such cases you might need to choose a technique that identifies groups of rows that are interesting to the query, instead of individual rows. You can use partitioning for this purpose; see Chapter 7.

//分区

If you have lots of tables, it can also make sense to create a metadata table to store some characteristics of interest for your queries. For example, if you execute queries that perform aggregations over rows in a multitenant application whose data is partitioned into many tables, you can record which users of the system are actually stored in each table, thus letting you simply ignore tables that don’t have information about those users. These tactics are usually useful only at extremely large scales. In fact, this is a crude approximation of what Infobright does.

At the scale of terabytes, locating individual rows doesn’t make sense; indexes are replaced by per-block metadata.

//建立一个元数据信息表用来查询需要用到的某些特性  执行那些需要聚合多个应用分布在多个表的数据查询则需要记录“哪个用户的信息存储在哪个表中”的元数据  定义单条记录的意义不大,故经常会使用块级别元数据技术来替代索引

时间: 2024-10-10 08:55:10

Indexes (also called “keys” in MySQL)的相关文章

Mysql之引擎

Mysql引擎概述 MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功能和能力.通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能. 不同的引擎,功能,占用空间大小,读取性能有区别 Mysql引擎有MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB).EXAMPLE.FEDERATED.ARCHIVE.CSV.BLACKHOLE

MySQL Schema设计(四)一个MySQL里的JQuery:common_schema (先存着)

来源:http://blog.itpub.net/26515977/viewspace-1208257/ 我们总要在一定的框架中活着,框架的构成有来自法律,有来自道德的,还有来自潜规则的.大部分人只求安生的活着,玩命的人毕竟是少数,有人打破框架平度青云,也有人打破框却架坠落深渊.每每跟做开发的同学沟通,就会听到一大滩框架名称,觉得很是高上大的样子.但他山之石可以攻玉,在MySQL当中也是有框架,这便是我们要介绍的common_schema.高性能MySQL一书作者 Baron Schwartz曾

MySQL Crash Course #13# Chapter 21. Creating and Manipulating Tables

之前 manipulate 表里的数据,现在则是 manipulate 表本身. INDEX 创建多列构成的主键 自动增长的规定 查看上一次插入的自增 id 尽量用默认值替代 NULL 外键不可以跨引擎 添加字段与删除字段 & 定义外键 复杂表结构的修改 删除表与修改表名 非常工整的 . .模范脚本: CREATE TABLE customers ( cust_id int NOT NULL AUTO_INCREMENT, cust_name char(50) NOT NULL , cust_a

Mysql 5.7 官方文档翻译

始于 2017年4月1日-愚人节 1.1 MySQL 5.7 新功能 本章节介绍了MySQL 5.7 新版本中新增.废弃.删除的功能. 在1.5章节 Section 1.5, "Server and Status Variables and Options Added, Deprecated, or Removed in MySQL 5.7" 中可以获得详细信息.. MySQL 5.7 新增功能 MySQL 5.7 废弃功能 MySQL 5.7 删除功能 MySQL 5.7 新增功能

mysql之show engine innodb status解读(转)

add by zhj: 我第一次知道这个命令是线上服务出了问题,然后同事用这个命令去查看死锁.但用这个命令看死锁有一定的局限性,它只能看到最后一次死锁, 而且只能看到死锁环中的两个事务所执行的最后一条语句(即被死锁卡住的那条语句),看不到整个死锁环,也看到不整个事务的语句.但是即使这亲,对我 们来说也非常有用,因为一般来说,数据库同时存在多个死锁环的可能性比较小,而且有了死锁环中的事务的最后一条语句,我们找到整个死锁环不是太难. "show engine innodb status"这

zabbix监控MySQL(windows和linux环境)

一.linux环境下监控MySQL Zabbix Server自带了MySQL插件来监控mysql数据库的模板,只需要配置好agent客户端,然后在web端给主机增加模板就行了 监控项目: Com_update:     mysql执行的更新个数 Com_select:     mysql执行的查询个数 Com_insert:     mysql执行插入的个数 Com_delete:     执行删除的个数 Com_rollback:   执行回滚的操作个数 Bytes_received:  接

mysql explain详解

1,  数据类型隐式转换 与 查看是否使用了索引 2,select_type select类型,它有以下几种值 2.1 simple 它表示简单的select,没有union和子查询 2.2 primary 最外面的select,在有子查询的语句中,最外面的select查询就是primary, 3 table 输出的行所用的表,这个参数显而易见,容易理解 4 type 连接类型.有多个参数,先从最佳类型到最差类型介绍 重要且困难 4.1 system 表仅有一行,这是const类型的特列,平时不

MySQL SHOW INDEX语法的实际应用

以下的文章主要描述的是MySQL SHOW INDEX语法的实际操作用法以及其实际查看索引状态(语法)的具体内容的描述,如果你对这一技术,心存好奇的话,以下的文章将会揭开它的神秘面纱. SHOW INDEX FROM tbl_name [FROM db_name] MySQL SHOW INDEX会返回表索引信息.其格式与ODBC中的SQLStatistics调用相似. MySQL SHOW INDEX会返回以下字段: Table 表的名称. Non_unique 如果索引不能包括重复词,则为0

MySQL入门手册

本文内容摘自MySQL5.6官方文档,主要选取了在实践过程中所用到的部分文字解释,力求只摘录重点,快速学会使用MySQL,本文所贴代码地方就是我亲自练习过的代码,凡本文没有练习过的代码都没有贴在此处,如果读者想自己尝试,可以查看官方文档,文中给出了原官方文档的对应链接以供查阅. 本文地址:http://www.cnblogs.com/yhLinux/p/4019386.html http://dev.mysql.com/doc/refman/5.6/en/tutorial.htmlThis ch