MySQL调优之数据类型选择

转自:微点阅读  https://www.weidianyuedu.com

在进行数据库设计时,如果能够选择最恰当的数据类型就可以为后期的数据库调优打好最坚实的基础

选择数据类型的原则

更小的通常更好

例如存储订单状态字段很多时候使用0、1、2表示使用tinyint类型存储就够了,没必要搞个int、long甚至varchar来。
越小的数据类型代表着占用越小的磁盘、内存和CPU,也就代表着越快的速度。当然,不要为了追求小而不考虑实际的场景、通常选择一个不会超过范围的最小数据类型就好了

越简单越好

数据类型越简单操作所需要的CPU周期就越少,例如说ip地址通常使用int而不是varchar来存储

尽量避免NULL

包含NULL的列会使得索引、索引统计和值比较都变得复杂

各个数据类型占用的字节

数据类型所占字节(byte)
tinyint1
smallint2
medumint3
int4
bigint8
float4
double8
decimal(m,d)m+2
date3
datetime8
timestamp4
char(n)1-n-255
varchar(n)1-n-65532
tinyblob255
blob65535
medumblob16777215
longblob4294967295
tinytext255
text65535
medumtext16777215
longtext4294967295

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
常用的MySQL手段包括以下几个方面: 1. 分析查询日志:使用工具如pt-query-digest或mysqlbinlog来分析MySQL的查询日志,可以了解到哪些查询语句执行效率较低,从而有针对性地进行化。比如使用pt-query-digest工具可以通过执行"pt-query-digest --type=binlog mysql-bin.000001.sql"命令来分析binlog日志,使用mysqlbinlog工具可以通过执行"mysqlbinlog mysql-bin.000001 > mysql-bin.000001.sql"命令来分析binlog日志。 2. 化慢查询:通过设置参数log_slow_queries和long_query_time来开启慢查询日志,并指定查询执行时间的临界值。根据慢查询日志可以找出执行时间较长的查询语句,然后通过化查询语句、添加索引等方式提升其执行效率。 3. 使用索引:索引是提高数据库查询效率的重要手段。可以通过使用适当的索引来加快查询速度,比如可以通过执行"mysql> set global log_queries_not_using_indexes=on;"命令来记录没有使用索引的查询。 4. 数据库结构:合理的数据库结构设计对于提高查询效率至关重要。可以通过化表结构、拆分大表、规范字段类型等方式来提升数据库的性能。 5. 整内存设置:根据系统的实际情况,合理配置MySQL的内存参数,比如innodb_buffer_pool_size、key_buffer_size等,以提高数据库的读取性能。 6. 使用缓存技术:利用缓存技术如Redis、Memcached等,在高访问量的场景下,将一些频繁访问的数据缓存在内存中,可以大幅提高查询效率。 7. 并发连接控制:通过限制并发连接数,避免数据库资源被过多的连接占用,从而保证系统的稳定性和性能。 需要根据具体的业务场景和实际情况来选择化这些手段,以达到提升MySQL数据库性能的目的。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MySQL数据化的八种方式(经典必看)](https://blog.csdn.net/wuxianbing2012/article/details/122960591)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值