对于字符和字符串列,请遵循以下准则:
- 当您不需要特定于语言的排序规则功能时,请使用二进制排序规则顺序进行快速比较和排序操作。您可以使用
BINARY
运算符在特定查询中使用二进制排序规则。 - 比较来自不同列的值时,请尽可能使用相同的字符集和排序规则声明这些列,以避免在运行查询时进行字符串转换。
- 对于小于8KB的列值,请使用二进制
VARCHAR
而不是BLOB
。该GROUP BY
和ORDER BY
条款可以生成临时表,这些临时表可以使用的MEMORY
存储引擎,如果原来的表不包含任何BLOB
列。 - 如果表包含名称和地址之类的字符串列,但是许多查询未检索到这些列,请考虑将字符串列拆分为单独的表,并在必要时使用带有外键的联接查询。当MySQL从一行中检索任何值时,它将读取一个包含该行所有列(可能还有其他相邻行)的数据块。保持每行较小,仅使用最常使用的列,可允许更多行容纳在每个数据块中。这样的紧凑表减少了常见查询的磁盘I / O和内存使用量。
- 当您将随机生成的值用作
InnoDB
表中的主键时,请尽可能在其前面加上一个升序值,例如当前日期和时间。当连续的主值在物理上彼此靠近存储时,InnoDB
可以更快地插入和检索它们。 - 有关为何数字列通常比等效字符串列更可取的原因,请参见第8.4.2.1节“优化数字数据”。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【MySQL 30周年庆】MySQL 8.0 OCP考试限时免费!教你免费领考券
墨天轮小教习
2979次阅读
2025-04-25 18:53:11
MySQL 30 周年庆!MySQL 8.4 认证免费考!这次是认真的。。。
严少安
852次阅读
2025-04-25 15:30:58
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
496次阅读
2025-04-17 17:02:24
MySQL 9.3 正式 GA,我却大失所望,新特性亮点与隐忧并存?
JiekeXu
436次阅读
2025-04-15 23:49:58
火焰图--分析复杂SQL执行计划的利器
听见风的声音
420次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
373次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
361次阅读
2025-05-05 19:28:36
RisingWave 产品月报|25 年 4 月
RisingWave中文开源社区
298次阅读
2025-05-08 10:04:55
MySQL 8.0 OCP 1Z0-908 考试解析指南(二)
JiekeXu
292次阅读
2025-04-30 17:37:37
记录MySQL数据库的一些奇怪的迁移需求!
陈举超
279次阅读
2025-04-15 15:27:53
TA的专栏
热门文章
我的故障分析及处理思路分享(李真旭)
2020-10-22 11203浏览
公共子表达式消除(Common Subexpression elimination,CSE)
2020-08-26 6228浏览
Oracle数据库的跟踪和分析方法
2020-10-02 5087浏览
2.5.9使用systemd管理MySQL服务器
2020-10-20 4568浏览
初探华为云GaussDB (for MySQL)
2020-12-11 3892浏览
最新文章
28.4.4 INFORMATION_SCHEMA INNODB_BUFFER_POOL_STATS 表
2024-09-29 110浏览
28.4.3 INFORMATION_SCHEMA INNODB_BUFFER_PAGE_LRU 表
2024-09-29 71浏览
28.4.2 INFORMATION_SCHEMA INNODB_BUFFER_PAGE 表
2024-09-29 69浏览
28.4.1 INFORMATION_SCHEMA InnoDB 表参考
2024-09-29 74浏览
28.3.50 INFORMATION_SCHEMA VIEW_TABLE_USAGE 表
2024-09-29 72浏览