b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

php安装mysql扩展 win MySQL(关系型管理系统)(4)

电脑杂谈  发布时间:2018-01-03 23:02:28  来源:网络整理

可以把索引的长度限制为一个给定的字符个数(这个数字必须小于这个字段所允许的最大字符个数)。

这么做的好处是可以生成一个尺寸比较小、检索速度却比较快的索引文件。

在绝大多数应用里,中的字符串数据大都以各种各样的名字为主,

把索引的长度设置为10~15 个字符已经足以把搜索范围缩小到很少的几条数据记录了。

在为 BLOB 和 TEXT 类型的数据列创建索引时,必须对索引的长度做出限制;

MySQL 所允许的最大索引全文索引文本字段上的普通索引

只能加快对出现在字段内容最前面的字符串(也就是字段内容开头的字符)进行检索操作。

如果字段里存放的是由几个、甚至是多个单词构成的较大段文字,普通索引就没什么作用了。

这种检索往往以的形式出现,这对 MySQL 来说很复杂,如果需要处理的数据量很大,响应时间就会很长。

这类场合正是全文索引(full-textindex)可以大显身手的地方。

在生成这种类型的索引时,MySQL 将把在文本中出现的所有单词创建为一份清单,查询操作将根据这份清单去检索有关的数据记录。

全文索引即可以随数据表一同创建,也可以等日后有必要时再使用下面这条命令添加:

ALTER TABLE tablename ADD FULLTEXT(column1,column2)有了全文索引,

就可以用 SELECT 查询命令去检索那些包含着一个或多个给定单词的数据记录了。

下面是这类查询命令的基本语法:

SELECT * FROM tablename

WHERE MATCH (column1,column2) AGAINST(‘word1‘,‘word2‘,‘word3‘)

上面这条命令将把 column1 和 column2 字段里有 word1、word2 和 word3 的数据记录全部查询出来。

注解:InnoDB 数据表不支持全文索引。

查询和索引

只有当里已经有了足够多的测试数据时,它的性能测试结果才有实际参考价值。

如果在测试里只有几百条数据记录,它们往往在执行完第一条查询命令之后就被全部加载到内存里,

这将使后续的查询命令都执行得非常快--不管有没有使用索引。php安装mysql扩展 win

只有当里的记录超过了 1000 条、数据总量也超过了 MySQL 服务器上的内存总量时,的性能测试结果才有意义。

在不确定应该在哪些数据列上创建索引的时候,人们从 EXPLAIN SELECT 命令那里往往可以获得一些帮助。

这其实只是简单地给一条普通的 SELECT 命令加一个 EXPLAIN 关键字作为前缀而已。

有了这个关键字,MySQL 将不是去执行那条 SELECT 命令,而是去对它进行分析。

MySQL 将以表格的形式把查询的执行过程和用到的索引等信息列出来。

在 EXPLAIN 命令的输出结果里,第1列是从读取的数据表的名字,它们按被读取的先后顺序排列。

type列指定了本数据表与其它数据表之间的关联关系(JOIN)。

在各种类型的关联关系当中,效率最高的是 system,然后依次是 const、eq_ref、ref、range、index 和 All

(All 的意思是:对应于上一级数据表里的每一条记录,这个数据表里的所有记录都必须被读取一遍——这种情况往往可以用一索引来避免)。

possible_keys 数据列给出了 MySQL 在搜索数据记录时可选用的各个索引。

key 数据列是 MySQL 实际选用的索引,这个索引按字节计算的长度在 key_len 数据列里给出。

比如说,对于一个 INTEGER 数据列的索引,这个字节长度将是4。


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-57961-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...