mysql百万数据建索引时间_采用ssh,访问mysql,百多万数据分页,速度太慢了,建过索引了,页面需要4-5秒时间...

单纯的从MySQL的角度出发,单台MySQL的数据库负载到每天上亿次的操作(每秒大概1100次MySQL操作,然后乘以86400)应该不是非常困难的事情。但当PV超过百万的时候一台WEB早已经不堪重负了。有几个解决方案:

数据分表处理:对已经成型的系统,如果是独立开发的系统在架构前期就进行数据的同步分区还是不错的。但是如果是一台DB服务器依然不能减轻MySQL的负载。

利用MySQL的主从构架:在Mysql的Master/Slave模式中,Slave主要是来备份数据的,只有当Master出现故障时,Slave才会接过Master的服务,对外部请求进行处理,直到Master恢复正常。就是说:在Master/Slave中,要么是Master在服务,要么是Slave在服务,不会Master/Slave同时提供服务。使用MySQL主从依然不能有效的降低MySQL的负载。

MySQL分区:MySQL5.1中的MySQL分区(MySQL Partition)是个很好的东西,它允许根据可以设置为任意大小的规则,跨文件系统分配单个表的多个部分。实际上,表的不同部分在不同的位置被存储为单独的表。这个是当前情况下,最积极有效的降低MySQL负载的解决方法之一。但目前没有充分的案例表明它是稳定的或者不稳定的。

使用Memcache:在用户环境需求等特定条件下,缓解MySQL负载比较有效的方法就是使用Memcache。Web Server(Lighttpd、Nginx、Apache)对CPU要求高,对内存要求低;而Memcached Server是对CPU要求低,对内存要求高,所以可以搭配使用。在对前端的Web Server上安装Memcached Server是可行的。可以用最少的付出,获得最大的收益。对于一个架构合理的系统来说,添加Memcache的支持可能只是一个批量处理文件的过程。

2009年11月18日 15:09

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值