快速掌握数据库索引技术[数据库设计]
2016-09-18 17:57
741 查看
索引的分类:
普通索引、主键索引、唯一索引、全文索引、复合(组合)索引。
何时创建索引:
(1) 较频繁的作为查询条件的字段;
(2) 唯一性太差的字段(如性别/状态字段等),即使我们频繁作为查询的条件,匀不适合创建索引;
(3) 数据更新非常频繁的字段(如统计平台当前的在线人数字段/商品的销售数量字段等)是不适合创建索引。
3. 创建索引(也可用可视化工具直接创建,这里我们用代码演示):
(1) 普通索引:
create index 索引名 on 表名(表字段)
(2) 主键索引:
在创建表时,设定主键字段,如id,即为主键索引。
(3) 唯一索引:
① 如果字段设置了唯一约束条件(unique),该字段便是一个唯一索引了;
② 直接创建唯一索引: create unique index 索引名 on 表名(字段1,字段2...)
(4) 全文索引:
顾名思义,全文索引主要就是文件、文本(如商品详情、文章、新闻等等)之类的一个检索。
注意:使用全文索引,表的引擎必须设置为MyISAM,否则无效。
① 创建: create fulltext index 索引名 on 表名(字段1,字段2...)
②使用:
I ) selete 字段1,字段2... from 表名 where match(匹配对应的全文索引字段) against(模糊检索的飞中文字符串)。
II) where条件不能用: 全文索引字段like‘%字符串%’,不然全文索引无效。
III) mysql提供的fulltext只针对英文有效,处理中文要用sphinx(coresseek)技术做中文处理,后期将讲述sphinx(coresseek)安装和使用;
③组合索引:
create index 索引名 on 表名(字段1,字段2...)
4.索引的代价:
(1). 创建索引是需要开销的,会占用一定的磁盘空间;
(2). 索引数据牵引难度大;
(3). 为了维护索引文件,会导致增、删、改操作变慢。
小常识:1. show index from 表名 , 可以查看对应的表详细使用索引情况;
2. explain : 在sql不执行的情况下,就可以看到sql的详细执行情况,便于我们分析sql和优化sql。
普通索引、主键索引、唯一索引、全文索引、复合(组合)索引。
何时创建索引:
(1) 较频繁的作为查询条件的字段;
(2) 唯一性太差的字段(如性别/状态字段等),即使我们频繁作为查询的条件,匀不适合创建索引;
(3) 数据更新非常频繁的字段(如统计平台当前的在线人数字段/商品的销售数量字段等)是不适合创建索引。
3. 创建索引(也可用可视化工具直接创建,这里我们用代码演示):
(1) 普通索引:
create index 索引名 on 表名(表字段)
(2) 主键索引:
在创建表时,设定主键字段,如id,即为主键索引。
(3) 唯一索引:
① 如果字段设置了唯一约束条件(unique),该字段便是一个唯一索引了;
② 直接创建唯一索引: create unique index 索引名 on 表名(字段1,字段2...)
(4) 全文索引:
顾名思义,全文索引主要就是文件、文本(如商品详情、文章、新闻等等)之类的一个检索。
注意:使用全文索引,表的引擎必须设置为MyISAM,否则无效。
① 创建: create fulltext index 索引名 on 表名(字段1,字段2...)
②使用:
I ) selete 字段1,字段2... from 表名 where match(匹配对应的全文索引字段) against(模糊检索的飞中文字符串)。
II) where条件不能用: 全文索引字段like‘%字符串%’,不然全文索引无效。
III) mysql提供的fulltext只针对英文有效,处理中文要用sphinx(coresseek)技术做中文处理,后期将讲述sphinx(coresseek)安装和使用;
③组合索引:
create index 索引名 on 表名(字段1,字段2...)
4.索引的代价:
(1). 创建索引是需要开销的,会占用一定的磁盘空间;
(2). 索引数据牵引难度大;
(3). 为了维护索引文件,会导致增、删、改操作变慢。
小常识:1. show index from 表名 , 可以查看对应的表详细使用索引情况;
2. explain : 在sql不执行的情况下,就可以看到sql的详细执行情况,便于我们分析sql和优化sql。
相关文章推荐
- [网络问题,截图以后再传]本实验是设计性实验。目的在于使用关系数据库标准语言SQL,掌握视图和索引的操作。
- [数据库技术]SQL数据库设计经验
- 数据库设计技巧系列(三)——选择键和索引
- 基于JDBC的数据库连接池技术研究与设计
- 快速掌握ASP连接11种数据库的常用语法
- 转:数据库学习-索引设计准则
- [导入]数据库设计技巧系列(三)——选择键和索引
- [收藏]数据库设计中的反规范技术探讨
- [转]教你快速掌握PL/SQL中的多进程通信技术
- 关系数据库的索引技术
- 数据库设计指南——第三部分(选择键和索引)
- (转载)数据库设计指南----第3 部分— 选择键和索引
- 快速掌握多线程编程优化技术
- JAVA操作数据库方式与设计模式应用--数据库连接池技术
- 剖析数据库性能调优技术之索引调优
- 快速掌握SqlServer下数据库链接的使用
- 基于GIS、公路测量与地图学及全国路况统计普查数据库的山西省公路信息管理系统技术设计
- 基于JDBC的数据库连接池技术研究与设计(转)
- 索引的优点和缺点,设计数据库的人员必看--转载
- [收藏]数据库设计中的反规范技术探讨