一个SQL查询如果以select开头,那么MySQL服务器将尝试对其使用QC。每个Cache都是以SQL文本作为key来存的。在应用QC之前,SQL文本不会被作任何处理。也就是说,两个SQL语句,只要相差哪怕是一个字符(例如大小写不一样;多一个空格等),那么这两个SQL将使用不同的一个CACHE。
MySQL语句优化的基本原则
索引带来查询上的速度的大大提升,但索引也占用了额外的硬盘空间(当然现在一般硬盘空间不成问题),而且往表中插入新记录时索引也要随着更新这也 需要一定时间
mysql 查询缓存使用详解
当在使用中,查询缓存会存储一个 SELECT 查询的文本与被传送到客户端的相应结果。如果之后接收到一个同样的查询,服务器将从查询缓存中检索结果,而不是再次分析和执行这个同样的查询。因而查询需要严格的一致(字节对字节的),才会被认为是同样的。 另外,如果一个客户端使用一个新的连接协议格式或不同于其它客户端的另一个字符集,一个查询将被视为不同的
mysql 索引
索引用于快速找出在某个列中有一特定值的行。索引是快速搜索的关键。MySQL索引的建立对于MySQL的高效运行是很重要的。在数据库表中,对字段建立索引可以大大提高查询速度
分布式数据库拆表拆库的常用策略
在大容量,高负荷的web系统中,对数据库进行一系列拆分,可有效提升数据库容量和性能。在初学程序的早期,程序员通常都喜欢按传统数据库设计模式,设计为单库和单一功能表的结构,这样的结构在数据量和并发量达到一定程度之后,会出现严重性能问题和维护问题
MySQL的数据类型和建库策略
数字类型按照我的分类方法分为三类:整数类、小数类和数字类。
我所谓的“数字类”,就是指 DECIMAL 和 NUMERIC,它们是同一种类型。它严格的说不是一种数字类型,因为他们实际上是将数字以字符串形式保存的;他的值的每一位 (包括小数点) 占一个字节的存储空间,因此这种类型耗费空间比较大。但是它的一个突出的优点是小数的位数固定,在运算中不会“失真”,所以比较适合用于“价格”、“金额 ”这样对精度要求不高但准确度要求非常高的字段。
MySQL五个查询优化方法
熟悉SQL的人都知道,完成同一个任务,SQL可能有多种写法,但不同写法的查询性能可能会有天壤之别,本文列举出五个查询优化的方法,当然,优化的方法还有很多。