感悟: 索引这个东西真的是很抽象,刚开始很不理解,就像我刚开始接触AJAX一样。不过你接触之后发现,真的没那么难。 -- 首先推荐文章: 真的写的很好:http://www.cnblogs.com/whgk/p/6179612.html -- 一:索引是什么?建立索引的目的? 数据库里的数据其实也是 ...
分类:
数据库 时间:
2018-03-30 18:28:24
阅读次数:
158
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在 ...
分类:
数据库 时间:
2018-03-30 16:16:04
阅读次数:
219
最近看了很多文章,这里再补充一下对索引底层的理解,仅个人意见,有不对的,大家可以留言下,非常欢迎~ 关于什么是索引,索引的建立,索引不同存储引擎可以在之前的文章了解到请点击这里:http://www.cnblogs.com/houdashuai/p/6681680.html这次总结一下,重点说一下底 ...
分类:
其他好文 时间:
2018-03-28 20:35:58
阅读次数:
112
一、全文检索基础 1、信息源 --> 分词器 --> 建立索引库 2、文本在建立索引和搜索的时候,都会先进行分词 3、索引库的结构 索引表:存放具体词汇,哪些词汇在哪些文档里面存储。索引表里面存储的就是分词器分词之后的结果 数据源:文本信息集合 4、用户搜索时,首先经过分词器进行分词,然后去索引表里 ...
分类:
其他好文 时间:
2018-03-27 01:58:04
阅读次数:
213
index : 索引:建立索引的目的是提高数据查询的速度。 1:建立索引 index eg:对birthday 字段经常进行查询操作,可以考虑在该字段上建立 index 。 create index t_stutdent_index on t_student(birthday); create in ...
分类:
其他好文 时间:
2018-03-27 01:54:37
阅读次数:
115
MySQL数据库的体系架构如下图所示: 从上图中可以看出,MySQL主要分为以下几个组件: 连接池组件 管理服务和工具组件 SQL接口组件 分析器组件 优化器组件 缓冲组件 插件式存储引擎 物理文件 一、存储引擎 存储引擎 : 其实就是指定 表 如何存储数据,如何为存储的数据 建立索引 以及 如何更 ...
分类:
数据库 时间:
2018-03-21 22:01:03
阅读次数:
223
一、应该在这些列上建立索引:1、在经常需要搜索的列上2、在作为主键的列上3、在经常用在连接的列上,外键4、进行范围搜索的列上5、排序的列上二、索引优化1、选择索引列在where字句中出现列或者join字句中出现的列上建索引2、最左前缀原则(因为索引底层是折半查找和B+树实现的)在创建联合索引的时候, ...
分类:
其他好文 时间:
2018-03-19 23:31:42
阅读次数:
185
除了给table建立索引之外,保持良好的SQL语句编写。 1、通过变量的方式来设置参数 比如动态查询的时候,尽量这样写 数据库的SQL解析和执行会保存在缓存中,SQL只要有变化,就要重新解析。而"where p.id="+id的方式在id值发生改变得时候需要重新解析SQL,浪费时间。 2、尽量不要使 ...
分类:
数据库 时间:
2018-03-15 15:12:17
阅读次数:
209
为表的字段创建索引 索引就像书的目录一样,如果在字段上建立索引,那么以索引为条件时可以加快查询数据的速度。 1 创建主键索引 查询数据库的内容,按主键查询是最快的,每个表只能有一个主键,但是可以有多个普通索引列,主键列要求所有内容必须唯一,而索引列不要求内容唯一。我们无论建立主键索引还是普通索引,都... ...
分类:
数据库 时间:
2018-03-13 22:51:42
阅读次数:
237
Lucene 是apache软件基金会一个开放源代码的全文检索引擎工具包,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。lucene 能够为文本类型的数据建立索引,所以你只要能把你要索引的数据格式转化的 ...
分类:
Web程序 时间:
2018-03-11 02:31:54
阅读次数:
266