mysql优化 - mysql KEY是什么键?有什么作用?
PHPz
PHPz 2017-04-17 14:58:50
[MySQL讨论组]

1.表

CREATE TABLE jforum_posts (
post_id int(11) NOT NULL AUTO_INCREMENT,
topic_id int(11) NOT NULL DEFAULT '0',
forum_id int(11) NOT NULL DEFAULT '0',
user_id int(11) NOT NULL DEFAULT '0',
post_time datetime DEFAULT NULL,
poster_ip varchar(15) DEFAULT NULL,
enable_bbcode tinyint(1) NOT NULL DEFAULT '1',
enable_html tinyint(1) NOT NULL DEFAULT '1',
enable_smilies tinyint(1) NOT NULL DEFAULT '1',
enable_sig tinyint(1) NOT NULL DEFAULT '1',
post_edit_time datetime DEFAULT NULL,
post_edit_count int(11) NOT NULL DEFAULT '0',
status tinyint(1) DEFAULT '1',
attach tinyint(1) DEFAULT '0',
need_moderate tinyint(1) DEFAULT '0',
PRIMARY KEY (post_id),
KEY user_id (user_id),
KEY topic_id (topic_id),
KEY forum_id (forum_id),
KEY post_time (post_time),
KEY need_moderate (need_moderate)
) ENGINE=InnoDB AUTO_INCREMENT=31 DEFAULT CHARSET=utf8

2.问题

这里的KEY是什么键?是外键吗?如果不是外键,它有什么用?
KEY user_id (user_id),
KEY topic_id (topic_id),
KEY forum_id (forum_id),

PHPz
PHPz

学习是最好的投资!

全部回复(3)
阿神

key是为表添加索引,索引的作用是增加数据库的查询速度。MySQL的数据库引擎是InnoDB,它采用B+树和哈希两种数据结构的方式为表添加索引。
EXPLAIN SELECT * FROM idc_work_order_main WHERE id = '100' 再用explain查看当前的SQL语句是否使用了索引,是如何使用的索引。

高洛峰

Key是索引约束,对表中字段进行约束索引的
key的用途:主要是用来加快查询速度的
这里的语句:
KEY user_id (user_id),
KEY topic_id (topic_id),
KEY forum_id (forum_id),
是指为user_id,topic_id,forum_id三个字段创建索引
mysql中key 、primary key 、unique key 与index区别

伊谢尔伦

索引,增加查询速度

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号