mysql的一些总结

mysql一个表最好多少条数据,为什么这么多?为什么不用oracle而用mysql?

 

一般而言,mysql一个表的数据量不要超过1000万,最好500万左右,这是由mysql的一些内部机制所决定的,

mysql的DDL实现

与oracle不同,mysql的DDL实现比较麻烦,以更改一个字段为例:

假如表T有一个A字段char(10),现在要将其改为20,mysql的实现为:

首先建立一个临时表TempT,这个表的实现为该过的T表,

其次将T中的数据全部倒到TempT中,

最后更换表名

所以,数据量越大的话,所耗的时间越长。

另外,mysql的索引机制也和oracle的不同,数据库的索引都是用b树来实现的,但是在mysql里面,b树的最后一层连接的不是数据

而是主索引,之后主索引顺序排列,这也是为什么在mysql里面为什么都会有一个id的列,没有用,但是必须要有,而且是auto_increment.

 

mysql的锁机制锁的不是单列,而是索引,所以当数据越来越多时,对数据上的修改也会造成长时间的block,此外,如果对于一个没有

索引的字段进行操作,则会导致整个表的block。

 

但对于oralcle的优势是,mysql可以很好的扩展,例如数据库的读写分离,可以一分二,二分四的很好的将读的压力分担给不同的读库,最后用写库保证读库们得统一

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值