百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql索引如何用
分享文章到:

mysql索引如何用

发布时间:08/01 来源:未知 浏览: 关键词:
MySQL索引分为普通索引和独一索引:普通索引语法为CREATEINDEXindexNameONmytable(username(length));独一索引将CREATEINDEX改为CREATEUNIQUEINDEX即可。 MySQL索引的概念

索引是一种特别的文件(InnoDB数据表上的索引是表空间的一个组成局部),它们包括着对数据表里所有记载的援用指针。更通俗的说,数据库索引好比是一本书前面的名目,能加速数据库的查询速度。上述SQL语句,在没有索引的状况下,数据库会遍历全部200条数据后选中相符前提的;而有了响应的索引之后,数据库会直接在索引中查寻相符前提的选项。要是我们把SQL语句换成“SELECT * FROM article WHERE id=2000000”,那么你是但愿数据库按照次序读取完200万行数据今后给你效果还是直接在索引中定位呢?(注:个别 数据库默许都会为主键生成索引)。

举荐课程:MySql教程。

索引分为聚簇索引和非聚簇索引两种,聚簇索引是按照数据寄存的物理位置为次序的,而非聚簇索引就不同了;聚簇索引能提高多行检索的速度,而非聚簇索引关于单行的检索很快。

MySQL索引的类型

1. 普通索引

这是最根本的索引,它没有任何限定,比方上文中为title字段新建的索引就是一个普通索引,MyIASM中默许的BTREE类型的索引,也是 我们大多数状况下用到的索引。

–直接新建索引
CREATE INDEX index_name ON table(column(length))
–修改表构造的方式增加索引
ALTER TABLE table_name ADD INDEX index_name ON (column(length))
–新建表的时候同时新建索引
CREATE TABLE `table` (
`id` int(11) NOT NULL AUTO_INCREMENT ,
`title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
`time` int(10) NULL DEFAULT NULL ,
PRIMARY KEY (`id`),
INDEX index_name (title(length))
)
–删除索引
DROP INDEX index_name ON table

2. 独一索引

与普通索引相似,不一样的就是:索引列的值必需独一,但允许有空值(注意和主键不一样)。要是是组合索引,则列值的组合必需独一,新建办法和普通索引相似。

–新建独一索引
CREATE UNIQUE INDEX indexName ON table(column(length))
–修改表构造
ALTER TABLE table_name ADD UNIQUE indexName ON (column(length))
–新建表的时候直接指定
CREATE TABLE `table` (
`id` int(11) NOT NULL AUTO_INCREMENT ,
`title` char(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL ,
`time` int(10) NULL DEFAULT NULL ,
PRIMARY KEY (`id`),
UNIQUE indexName (title(length))

以上就是mysql索引如何用的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有154人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板