澳门皇冠金沙网站-澳门皇冠844网站

热门关键词: 澳门皇冠金沙网站,澳门皇冠844网站

建索引注意事项

本文从如何建立mysql索引以及介绍mysql的索引类型,再讲mysql索引的利与弊,以及建立索引时需要注意的地方

本文从如何建立mysql索引以及介绍mysql的索引类型,再讲mysql索引的利与弊,以及建立索引时需要注意的地方

建表注意

1、建议字段定义为NOT NULL

首先:先假设有一张表,表的数据有10W条数据,其中有一条数据是nickname='css',如果要拿这条数据的话需要些的sql是 SELECT * FROM award WHERE nickname = 'css'

首先:先假设有一张表,表的数据有10W条数据,其中有一条数据是nickname='css',如果要拿这条数据的话需要些的sql是 SELECT * FROM award WHERE nickname = 'css'

搜索引擎

MyISAM
InnoDB
区别

InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。

一般情况下,在没有建立索引的时候,mysql需要扫描全表及扫描10W条数据找这条数据,如果我在nickname上建立索引,那么mysql只需要扫描一行数据及为我们找到这条nickname='css'的数据,是不是感觉性能提升了好多咧....

一般情况下,在没有建立索引的时候,mysql需要扫描全表及扫描10W条数据找这条数据,如果我在nickname上建立索引,那么mysql只需要扫描一行数据及为我们找到这条nickname='css'的数据,是不是感觉性能提升了好多咧....

sql优化

任何地方都不要使用 select * from t ,用具体的字段列表代替“*”
尽量避免向客户端返回大数据量,若数据量过大,应该考虑相应需求是否合理。
尽量避免大事务操作,提高系统并发能力。

mysql的索引分为单列索引(主键索引,唯索引,普通索引)和组合索引.

mysql的索引分为单列索引(主键索引,唯索引,普通索引)和组合索引.

索引

  • 索引的创建

    普通索引 CREATE INDEX IndexName ON TableName(字段名(length)) ALTER TABLE TableName ADD INDEX IndexName(字段名(length)) 组合索引 CREATE INDEX IndexName On TableName(字段名(length),字段名(length),...); 全文索引 ALTER TABLE tablename ADD FULLTEXT(column1, column2)

  • 索引的优点

    1.可以通过建立唯一索引或者主键索引,保证数据库表中每一行数据的唯一性. 2.建立索引可以大大提高检索的数据,以及减少表的检索行数 3.在表连接的连接条件 可以加速表与表直接的相连 4.在分组和排序字句进行数据检索,可以减少查询时间中 分组 和 排序时所消耗的时间(数据库的记录会重新排序) 5.建立索引,在查询中使用索引 可以提高性能

  • 索引的缺点

    1.在创建索引和维护索引 会耗费时间,随着数据量的增加而增加 2.索引文件会占用物理空间,除了数据表需要占用物理空间之外,每一个索引还会占用一定的物理空间 3.当对表的数据进行 INSERT,UPDATE,DELETE 的时候,索引也要动态的维护,这样就会降低数据的维护速度, (建立索引会占用磁盘空间的索引文件。一般情况这个问题不太严重,但如果你在一个大表上创建了多种组合索引,索引文件的会膨胀很快)。

  • 需要注意的地方

    1.在经常需要搜索的列上,可以加快索引的速度 2.在表与表的而连接条件上加上索引,可以加快连接查询的速度 3.在经常需要排序(order by),分组(group by)和的distinct 列上加索引 可以加快排序查询的时间, (单独order by 用不了索引,索引考虑加where 或加limit) 4.在一些where 之后的 < <= > >= BETWEEN IN 以及某个情况下的like 建立字段的索引(B-TREE) 5.like语句的 如果你对nickname字段建立了一个索引.当查询的时候的语句是 nickname like '

    本文由澳门皇冠金沙网站发布于数据库研究,转载请注明出处:建索引注意事项