MySql建表注意什么和Mysql常见存储引擎及区别

在MySQL建表时应注意选择合适的存储引擎,如InnoDB支持事务和行级锁,适合高并发场景;MyISAM则适合读取密集型应用。字段类型选择要恰当,例如日期类型、字符串类型和二进制数据的处理。金额字段推荐使用Decimal类型,主键建议使用无业务意义的intunsigned。此外,应考虑是否使用外键和设置字段约束与默认值。
摘要由CSDN通过智能技术生成

mysql建表注意事项

  1. 注意选择存储引擎,如果要支持事务要选择InnoDB
  2. 注意字段的类型选择,日期类型如果要记录时分秒要选择datetime,只记录年月日使用date类型即可;对于字符串类型,varchar比char更节省空间但是速度没有char快;对于内容介绍类的长广文本字段使用text或longtext;如果存储图片等二进制数据使用blob或者longblob;对于金额字段建议使用Decimal;对于数值类型的字段确保取值范围足够的前提下尽量使用占用空间类型较小的类型;
  3. 主键建议使用自然主键,不要有业务意义,建议使用int unsigned类型,特殊类型使用bigint
  4. 如果存储text,blog字段建议单独列出一张表,使用外键关联
  5. 尽量不要定义外键,保证表的独立性,可以存在外键意义的字段
  6. 设置字段默认值,比如:状态、创建时间等
  7. 每个字段写清楚注释
  8. 注意字段的约束,比如:非空、唯一、主键

存储引擎及区别 

  1. mysql常见的存储引擎及区别?

一、InnoDB

支持事务,使用的锁力度默认为行级锁,可以支持更高的并发也支持表锁;支持外键约束;外键约束其实增加了表的查询速度,增加了表之间的耦合度

二、MyISAM

不提供事务支持、只支持表级锁、不支持外键

三、memory

数据存储在内存中

总结:

  • MyISAM管理非事务表,提供高速存储和检索以及全文搜索能力,如果在应用中大量的select操作,应该选择MyISAM
  • InnoDB用于事务处理,具有ACID事务支持等特性,如果在应用中有大量的insert和update操作,应该选择InnoDB 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值