摘要:
Limit语法:SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offsetLIMIT子句可以被用于强制 SELECT 语句返回指定的记录数。LIMIT接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。初始记录行的偏移量是 0(而不是 1)。为了与 PostgreSQL 兼容,MySQL 也支持句法:LIMIT # OFFSET #。eg:mysql> SELECT * FROM table LIMIT 5,10; //检索记录行6-1 阅读全文
摘要:
1、优化数据类型(1)避免使用NULL NULL对于大多数数据库都需要特殊处理,MySQL也不例外,它需要更多的代码,更多的检查和特殊的索引逻辑,有些开发人员完全没有意识到,创建表时NULL是默认值,但大多数时候应该使用NOT NULL,或者使用一个特殊的值,如0、-1作为默认值。(2)仅可能使用更小的字段 MySQL从磁盘读取数据后是存储到内存中的,然后使用cpu周期和磁盘I/O读取它,这意味着越小的数据类型占用的空间越小,从磁盘读或打包到内存的效率都更好,但也不要太过执着减小数据类型,要是以后应用程序发生什么变化就没有空间了。修改表将需要重构,间接地可能引起代码的改变,这是很头疼的问题.. 阅读全文
摘要:
一、 通过查询缓冲提高查询速度 一般我们使用SQL语句进行查询时,数据库服务器每次在收到客户端发来SQL后,都会执行这条SQL语句。但当在一定间隔内(如1分钟内),接到完全一样的SQL语句,也同样执行它。虽然这样可以保证数据的实时性,但在大多数时候,数据并不要求完全的实时,也就是说可以有一定的延时。如果是这样的话,在短时间内执行完全一样的SQL就有些得不偿失。 幸好MySQL为我们提供了查询缓冲的功能(只能在MySQL 4.0.1及以上版本使用查询缓冲)。我们可以通过查询缓冲在一定程度上提高查询性能。1、我们可以通过在MySQL安装目录中的my.ini文件设置查询缓冲: 设置也非常简单,... 阅读全文
摘要:
MyISAMInnoDB构成上区别每个MyISAM在磁盘上存储成三个文件。文件名为表名,扩展名为文件类型。.frm 文件存储表定义;.MYD(MYData) 数据文件的扩展名;.MYI(MYIndex) 索引文件的扩展名。基于磁盘的资源是InnoDB表空间数据文件和它的日志文件,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB事务处理方面MyISAM类型的表强调的是性能,其执行速度比InnoDB类型更快,但是不提供事务支持。InnoDB提供事务支持事务,外部键等高级数据库功能。锁表级锁行级锁InnoDB表的行锁也不是绝对的,如果在执行一个SQL语句时MySQL不能确定要扫描的范 阅读全文