mysql分区问题后的效率问题-mysql报错 -问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

mysql分区问题后的效率问题-mysql报错

2020-05-31 15:44:33 243 1

"

这几天,闲着没事,搞搞mysql分区,操作步骤如下:

表A:数据大小1500W左右。

ID----主键

playerID----做索引

partition by hash(ID) partitions 256

把表A按照ID做hash分区,分256个区。

未分区前:

select * from A where playerID=56;执行时间是0.0002秒

分区后:

select * from A where playerID=56;执行时间居然两秒多。

结论:难道分区后,playerID的索引无效了?

"
取消 提交回答
全部回答(1)
  • montos
    2020-05-31 15:44:43

    "必须的,你按id分区,必须按id查询才快,要不然查询比原来慢n倍######表分区后,必须按分区字段查询才提升速度,否则比原来更慢了######

    限制太大了,像表A这种结构,很常见的,而且分区的字段必须包括主键,还不如不分区。

    可能某些结构的超大的表才有用处。例如那些log数据表,按照日期查询的,把日期分区,才有效果。

    ######按经常用到的查询字段进行分区才能提高性能,你为什么要分区,可以通过设置单表分多个数据文件存储来提高性能。######

    上面的例子是按经常用到的查询字段进行分区。那个ID和PlayerID是经常需要查询的。因为ID是主键,不能按照playerID来分区(分区必须包括主键的),那好吧,我按照ID来分区,但是结果是,按照PlayerID查询,变慢了。

    可以通过设置单表分多个数据文件存储来提高性能。这个有用?貌似这个功能是分区才有的,普通的表不能这样子吧

    ######你这样做的话,当然会更慢了,这个查询需要在256个分区中进行查询才能得到结果"
    0 0
相关问答

20

回答

【大咖问答】对话PostgreSQL 中国社区发起人之一,阿里云数据库高级专家 德哥

阿里ACE 彭飞 2019-07-10 09:36:10 1271559浏览量 回答数 20

145

回答

【新手入门】云服务器linux使用手册

fanyue88888 2012-11-26 17:14:18 159994浏览量 回答数 145

8

回答

OceanBase 使用动画(持续更新)

mq4096 2019-02-20 17:16:36 341333浏览量 回答数 8

3

回答

请问postgres实时同步数据到mysql数据库有什么好的方案吗?

toni3 2019-06-29 14:55:43 117393浏览量 回答数 3

3

回答

mySQL数据库报错You have an error in your SQL syntax

落地花开啦 2016-02-14 16:09:24 133553浏览量 回答数 3

39

回答

安全组详解,新手必看教程

我的中国 2017-11-30 15:23:46 263605浏览量 回答数 39

251

回答

阿里云LNAMP(Linux + Nginx + Apache + MySQL + PHP)环境一键安装脚本

云代维 2014-02-14 15:26:06 310267浏览量 回答数 251

97

回答

Redhat/CentOS一键安装web环境全攻略

xiaofanqie 2011-08-11 14:51:38 125067浏览量 回答数 97

2

回答

区域选择帮助

fanyue88888 2012-12-07 15:54:30 205741浏览量 回答数 2

11

回答

【精品问答合集】MongoDB热门问答

李博 bluemind 2019-05-29 16:50:19 123480浏览量 回答数 11
+关注
5
文章
5115
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载