mysql - 需要有关 MySQL 分区的建议
问题描述
我users
按username
字段对表使用表分区。
为什么要进行表分区?因为我想通过用户名提高搜索速度。
- 如果我按 搜索
a%
,搜索速度比分区前快很多。 - 如果我按
%a
or搜索%a%
,搜索速度与分区前相同。
下面是分区sql。
CREATE TABLE `users` (
`id` char(36) NOT NULL,
`username` varchar(255) DEFAULT NULL,
...
)
(PARTITIONING users_0 VALUES LESS THAN ('a') ENGINE=InnoDB,
PARTITIONING users_1 VALUES LESS THAN ('b') ENGINE=InnoDB,
...
PARTITIONING users_25 VALUES LESS THAN ('z') ENGINE=InnoDB
)
- 有什么方法可以提高按
username
字段搜索的速度吗? - 什么时候使用分区?
解决方案
推荐阅读
- python - 如何在大字节类型文件上并行迭代?
- android - Android:在 Android Studio 中链接外部静态 C/C++ 库
- perl - 设置 NonStop PERLDB_OPTS 的替代方法
- r - 标准化降水蒸散指数 (SPEI) 的计算仅返回 NA 值
- flutter - 如何从firestore获取数据并自动刷新状态而无需单击flutter
- javascript - 从多个对象的数组中删除对象
- c++ - 如何在每次执行中生成随机字符串(下一个必须不同于上一个)?
- ios - 在 iOS 上的 Html5 视频元素中覆盖阴影内容(用户代理)样式
- ios - 如何创建一个链接到 Objective-C 代码的 Swift 框架?
- java - 如何解决 Jersey Web 服务的错误 404?