mysql,有一张表里面已经有几千万条数据了,网页访问时极其缓慢,如何提高检索速度
一般查询的话应该有常用的语句的。
比如常见查询为:
select * from factdata where user='a' and module='b' and dtime between '2012-11-01 00:10:00' and '2012-11-01 00:11:10';
那么你这时候需要在factdata表上建立(user,module,dtime)的联合索引。
alter table factdata add index i_merge(`user`,`module`,`dtime`);
你可以执行
explain select * from factdata where user='a' and module='b' and dtime between '2012-11-01 00:10:00' and '2012-11-01 00:11:10';
查看建立索引前面的返回的结果。
假如没有索引的话,explain会显示返回查询全表的数据自然会很慢了。
假如用到了索引的话,可以快速的找到需要查询的区间里的数据,往往需要查询的数据量是全表的1/100,1/1000,那么这时候花费的时间就是1/100,1/1000了。
分布式系统设计三要素
分布式系统核心三要素:
要素一: 多副本(Replication), 系统包含多个完全相同(一致)的节点
要素二: 多分区(Sharding), 系统被拆分成多个完全独立的节点组
要素三: 协作(Cooperation), 节点组之间有协作, 共同完成某项工作
sql和my sql区别
SQL(Structured Query Language)是一种用于管理关系型数据库的标准化查询语言。MySQL(称为“My”或“My Sequel”)则是一种基于SQL标准的关系型数据库管理系统(RMS)。
下面是SQL和MySQL之间的区别:
1. SQL是一种标准化的查询语言,是一套定义了数据库操作的语法和规范,包括数据查询、插入、更新、删除等操作。而MySQL是一个实现了SQL标准的关系型数据库管理系统,它实际上是一个软件,用于创建、管理和操作数据库。
2. SQL是一种通用的查询语言,可以在多种关系型数据库系统中使用,如Oracle、SQL Server、PostgreSQL等。而MySQL是一种具体的关系型数据库管理系统,是针对MySQL数据库系统独有的语法和特性进行开发和优化。
3. SQL可以用于操作任何符合SQL标准的数据库,而MySQL主要用于操作MySQL数据库。 MySQL在市场上非常流行,被广泛应用于各种Web应用程序、企业级应用以及开源项目中。
4. SQL是一种声明性语言,用户只需描述所需的数据,而不需要关注具体的实现细节。而MySQL是具体的数据库管理系统,除了支持SQL标准的查询语句外,还提供了额外的功能、存储引擎以及性能优化策略等。
总之,SQL是一种标准的查询语言,用于管理关系型数据库,而MySQL是一个具体的关系型数据库管理系统,实现了SQL标准并提供了额外的特性和优化。
还没有评论,来说两句吧...