mysql数据库设计总结(个人经验)

本文总结了个人在MySQL数据库设计中的经验教训,包括避免将大量图片存入数据库,确保更新语句条件具体,谨慎选择字符集,理解InnoDB和MyISAM的区别,适度冗余字段,保持方法专注,以及合理创建索引等关键点,以提升数据库性能和应用稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下经验,均是血和泪的教训,为了避免自己再犯,特此记录。


1  图片不能保存在数据库中。

此话不绝对,但是如果图片很多(几乎每天数据中均存在图片),那就千万不能把图片放在数据库中。

对性能影响:表中数据30万,执行查询语句,5分钟后仍在查询(这是程序不能接受的)。 

去掉图片,执行查询语句,执行时间不到5s。


2 更新语句的更新条件尽量具体。

上面的话的意思是:如果更新数据,符合条件的数据很多,尽量把条件具体些,是更新的数据由多条变为一条。

为什么这么做:当数据上万、上百万时,每次更新操作将会时数据库执行时间过长,导致正常的业务流程不能正常执行(如:与数据库连接超时)。


3 mysql字符集一定要慎重选择。

笔者常用的是:字符集:utf-8, 核对:utf8_general_ci。


4不同的搜索引擎对性能影响不同。

mysql数据库常用的搜索引擎有两种:InnoDB和MyISAM 。其中innodb存储引擎,特点支持外键、行锁、非锁定读(默认情况下读取不会产生锁)、mysql-4.1开始支持每个innodb引擎的表单独放到一个表空间里。但是备份还原比较困难。 MyISam不支持事物,但是备份还原比较简单。


5建立适当冗余

对于数据库中的字段建立适当冗余,目的是牺牲空间换时间.


6一个方法尽量做最少的事

一个方法尽量做最少的事是指如果方法A既能支持a操作,又能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值