摘要: 面对当今大数据存储,设想当mysql中一个表的总记录超过1000W,会出现性能的大幅度下降吗?答案是肯定的,一个表的总记录超过1000W,在操作系统层面检索也是效率非常低的解决方案:目前针对海量数据的优化有两种方法:1、大表拆小表的方式(主要有分表和分区两者技术)(1)分表技术垂直分割优势:降低高并发情况下,对于表的锁定。不足:对于单表来说,随着数据库的记录增多,读写压力将进一步增大。水平分割如果单表的IO压力大,可以考虑用水平分割,其原理就是通过hash算法,将一张表分为N多页,并通过一个新的表(总表),记录着每个页的的位置。假如一个门户网站,它的数据库表已经达到了1000万条记录,那么此时 阅读全文
posted @ 2014-03-25 17:58 外星猿 阅读(552) 评论(0) 推荐(0) 编辑
摘要: show profile是由Jeremy Cole捐献给MySQL社区版本的。默认的是关闭的,但是会话级别可以开启这个功能。开启它可以让MySQL收集在执行语句的时候所使用的资源。为了统计报表,把profiling设为1mysql> SET profiling = 1;之后在运行一个查询mysql> SELECT COUNT(DISTINCT actor.first_name) AS cnt_name, COUNT(*) AS cnt-> FROM sakila.film_actor-> INNER JOIN sakila.actor USING(actor_id)-& 阅读全文
posted @ 2014-03-25 16:55 外星猿 阅读(257) 评论(0) 推荐(0) 编辑
摘要: source:http://www.open-open.com/lib/view/open1330065251640.html网 上有不少mysql 性能优化方案,不过,mysql的优化同sql server相比,更为麻烦与复杂,同样的设置,在不同的环境下 ,由于内存,访问量,读写频率,数据差异等等情况,可能会出现不同的结果,因此简单地根据某个给出方案来配置mysql是行不通的,最好能使用 status信息对mysql进行具体的优化。mysql> show global status; 可以列出mysql服务器运行各种状态值,另外,查询mysql服务器配置信息语句:mysql> s 阅读全文
posted @ 2014-03-25 16:29 外星猿 阅读(198) 评论(0) 推荐(0) 编辑