请教两个有个索引的问题

leetow2006 2018-01-20 12:43:16
1、如果在建立表时,我们定义了关键字primary key,那么该关键字
自动含有索引的意思,不需要建立索引,是吗?
2、如果我们建立一个普通的索引,那过了很长时间,数据变化很多,
那么我们是不是需要重新对这个索引进行整理?如果需要,我们该
怎么整理?
...全文
313 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
伟洪winni 2018-01-22
  • 打赏
  • 举报
回复
主键就是索引
ChinaITOldMan 2018-01-22
  • 打赏
  • 举报
回复
1、yes,会自动生成主健索引 2、 OPTIMIZE table tablename
leetow2006 2018-01-21
  • 打赏
  • 举报
回复
引用 1 楼 roy_88 的回复:
1:对,会自动生成主健索引 2:查看Data_free,经常删改数据表,会造成大量的Data_free
show table status like  'tablename';
整理压缩空间
OPTIMIZE table tablename
请问只要整理压缩空间,就相当于也对索引进行了整理,不要再对索引做其他的操作,是这样吗?
leetow2006 2018-01-21
  • 打赏
  • 举报
回复
引用 3 楼 roy_88 的回复:
T-SQL可用以下方法查看索引
select * from information_schema.statistics where  table_schema = '数据库名' and table_name='表名';

show index from 表名;
请问:MySQL可以用T-SQL编程吗
中国风 2018-01-20
  • 打赏
  • 举报
回复
T-SQL可用以下方法查看索引
select * from information_schema.statistics where  table_schema = '数据库名' and table_name='表名';

show index from 表名;
传说之心 2018-01-20
  • 打赏
  • 举报
回复
主键会自动建立聚集索引,因为普遍认可一件事,查询经常用到主键,所以自动建立索引是没问题的。 当数据变化了很多以后,重建索引也是必然的,mysql重建索引的语句repair table table_name quick。 字段的类型对于索引的效率影响很大,所以建议,经常查询的字段,只要有办法把数据转换成int类型,就尽量转成int
中国风 2018-01-20
  • 打赏
  • 举报
回复
1:对,会自动生成主健索引 2:查看Data_free,经常删改数据表,会造成大量的Data_free
show table status like  'tablename';
整理压缩空间
OPTIMIZE table tablename

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧