- 浏览: 161994 次
- 性别:
- 来自: 北京
最新评论
-
BlueAeri:
好像旧了,有些参数没有,比如 --cups
VBoxManage命令详解 -
jiamb:
非常感谢!
学习ibatis的一些资料 -
memory_in_08:
正急着找ibatis的此资料呢,3k you..
学习ibatis的一些资料 -
小猪笨笨:
多谢···
学习ibatis的一些资料 -
mingxiao2010:
谢谢你的分享!!
学习ibatis的一些资料
http://www.111cn.net/database/110/4de9b71eec53c2e0717e8ee81f60e49c.htm
创建索引
对于查询占主要的应用来说,索引显得尤为重要。很多时候性能问题很简单的就是因为我们忘了添加索引而造成的,或者说没有添加更为有效的索引导致。如果不加
索引的话,那么查找任何哪怕只是一条特定的数据都会进行一次全表扫描,如果一张表的数据量很大而符合条件的结果又很少,那么不加索引会引起致命的性能下
降。但是也不是什么情况都非得建索引不可,比如性别可能就只有两个值,建索引不仅没什么优势,还会影响到更新速度,这被称为过度索引。
2,复合索引
比如有一条语句是这样的:select * from users where area=’beijing’ and age=22;
如果我们是在area和age上分别创建单个索引的话,由于mysql
查询每次只能使用一个索引,所以虽然这样已经相对不做索引时全表扫描提高了很多效
率,但是如果在area、age两列上创建复合索引的话将带来更高的效率。如果我们创建了(area, age,
salary)的复合索引,那么其实相当于创建了(area,age,salary)、(area,age)、(area)三个索引,这被称为最佳左前缀
特性。因此我们在创建复合索引时应该将最常用作限制条件的列放在最左边,依次递减。
3,索引不会包含有NULL值的列
只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的。所以我们在数据库
设计时不要让字段的默认值为NULL。
4,使用短索引
对串列进行索引,如果可能应该指定一个前缀长度。例如,如果有一个CHAR(255)的 列,如果在前10 个或20 个字符内,多数值是惟一的,那么就不要对整个列进行索引。短索引不仅可以提高查询速度而且可以节省磁盘空间和I/O操作。
5,排序的索引问题
mysql查询只使用一个索引,因此如果where子句中已经使用了索引的话,那么order by中的列是不会使用索引的。因此数据库默认排序可以符合要求的情况下不要使用排序操作;尽量不要包含多个列的排序,如果需要最好给这些列创建复合索引。
6,like语句操作
一般情况下不鼓励使用like操作,如果非使用不可,如何使用也是一个问题。like “%aaa%” 不会使用索引而like “aaa%”可以使用索引。
7,不要在列上进行运算
select * from users where
YEAR(adddate)
8,不使用NOT IN和操作
NOT IN和操作都不会使用索引将进行全表扫描。NOT IN可以NOT EXISTS代替,id3则可使用id>3 or id
ref_or_null
SELECT * FROM ref_tableWHERE key_column=expr OR key_column IS NULL;
value IN (SELECT primary_key FROM single_table WHERE some_expr)
value IN (SELECT key_column FROM single_table WHERE some_expr)
SELECT * FROM tbl_nameWHERE key_column = 10; SELECT * FROM tbl_nameWHERE key_column BETWEEN 10 and 20; SELECT * FROM tbl_nameWHERE key_column IN (10,20,30); SELECT * FROM tbl_nameWHERE key_part1= 10 AND key_part2 IN (10,20,30);
发表评论
-
用federated引擎在不同服务器间转移mysql表(转载)
2011-04-18 13:57 973用federated引擎在不同服务器间转移mysql表 ... -
(转载)MySQL 索引总结
2010-02-01 18:41 1174由于索引对数据库的查询性能有着至关重要的影响,下面是我的一些总 ... -
Updated msl (microslow) patch, installation walk-through!
2010-01-06 13:48 1096#转载地址:http://www.mysqlperforman ... -
SHOW INNODB STATUS 分析
2009-09-11 17:59 1659SHOW INNODB STATUS 分析 2009-06- ... -
MySQL 锁的使用
2009-09-03 13:52 15257.3 锁7.3.1 锁机制 当前MySQL已经支持 ISA ... -
使用MYSQL索引
2009-09-02 10:27 1009关系数据库的世界是一 ... -
Monitoring MySQL
2009-08-20 11:20 1068Overall activity Questions ... -
Mysql Innodb 引擎优化(-) 参数篇
2009-05-06 18:01 1132参数篇 作/译者:吴炳 ... -
MySQL数据库中对前端和后台进行系统优化
2009-05-06 12:51 867本文中介绍的系统优化 ... -
MySQL配置文件my.cnf 例子最详细翻译,可以保存做笔记用。
2009-05-04 10:52 990MySQL配置文件my.cnf 例子最详细翻译,可以保存做笔记 ... -
MySQL优化实例
2009-04-29 11:23 1554原文地址: http://kb.discuz.net/ind ... -
MySQL 事件调度器(Event Scheduler)
2009-04-27 17:13 1504一、概述 事件调度器是在 MySQL 5.1 中新增的另一个 ... -
MYSQL中常用的工具
2009-04-27 10:42 17711.mysql(客户端链接工具): -u :指定用户名 ... -
mysql日志
2009-04-27 10:38 10511.错误日志是mysql中最只要的日志,记录了当mysqld启 ... -
mysql-master-slave
2009-02-12 17:36 14961.概述 MySQL Master-Slave是指MySQL ... -
mysql集群配置
2009-01-16 14:23 19641. 概述 MySQL Cluster是一种技术,该技术允 ... -
修改Linux的主机名
2008-12-29 15:17 903/etc/sysconfig/network文件中hostna ... -
卸载mysql
2008-12-26 09:40 12691.rpm 形式安装。 rpm -qa|grep -i mys ... -
linux设置环境变量
2008-12-25 14:44 912设置环境变量: 1.设置临时环境变量(重启后消失) expor ... -
mysql系列研究(2)---安装
2008-12-25 14:18 1100# cd /home/xiutuo/software/ # t ...
相关推荐
MySQL索引优化是数据库性能提升的关键环节,本篇主要探讨了几个关于MySQL索引使用和优化的重要知识点。 首先,创建了一个名为`employees`的员工记录表,其中包含`id`(主键)、`name`、`age`、`position`和`hire_...
MySQL索引优化是数据库性能提升的关键技术之一,尤其在处理大量数据时,高效索引能够显著加快查询速度,降低服务器负载。本课件主要聚焦于MySQL数据库的索引原理、优化策略以及相关存储过程和触发器的应用。 首先,...
### MySQL的索引优化 #### 一、索引的基本概念 索引是在数据库表中用于提高数据检索效率的重要工具。简单来说,索引就像是图书的目录页,可以帮助用户快速定位到所需的信息,而无需逐页查找。对于MySQL而言,所有...
### MySQL索引分析和优化 #### 一、索引的重要性及原理 索引在数据库管理中扮演着极其重要的角色,特别是在提高数据检索速度方面。**MySQL索引**本质上是用来加快数据检索过程的一种数据结构,类似于书籍中的目录...
MySQL查询优化是数据库管理中的关键环节,特别是在大数据量的场景下,索引优化能显著提升查询性能。本文将深入探讨“mysql查询优化之索引优化”这一主题。 首先,了解索引的基本概念至关重要。索引是数据库为了快速...
8. **索引优化**:MySQL提供了`EXPLAIN`关键字,可以帮助分析查询执行计划,了解是否正确使用了索引。通过`EXPLAIN`,可以发现查询是否进行了全表扫描、是否使用了索引、索引的类型以及索引的覆盖程度等信息,从而...
"MySQL索引分析及优化" 索引是数据库中提高速度的一个关键因素。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。索引的使用可以大幅度地提高查询速度,减少数据库的...
本资料包"mysql索引优化.rar"聚焦于MySQL的索引优化,旨在帮助你理解和掌握如何有效利用索引来提高数据库的运行效率。以下将详细介绍关于MySQL索引的知识点: 1. **索引类型** - **B-Tree索引**:最常见的索引类型...
MySQL索引原理及慢查询优化是数据库管理中的重要主题,尤其是在高并发、大数据量的互联网环境中,优化查询性能对于系统的整体效能至关重要。MySQL作为广泛使用的开源关系型数据库,其索引机制和查询优化技巧是开发者...
本文将深入探讨MySQL索引的最佳实践,旨在为开发者和数据库管理员提供实用指南。 ### 理解索引的重要性 索引的存在主要是为了加速数据库中的数据访问速度。在没有索引的情况下,数据库必须遍历整个表来查找特定的...
MySQL 索引类型是数据库性能优化的关键所在。索引可以大幅度提高查询速度,提高数据库的高效运行。在 MySQL 中,索引可以分为单列索引和组合索引两种。 1. 普通索引 普通索引是最基本的索引类型,没有任何限制。...
在索引优化方面,最左前缀原则是一个关键概念,这意味着复合索引只能按照索引创建时列的顺序部分使用,例如,INDEX(A, B, C)可以用于 WHERE A = x 或 WHERE A = x AND B = y 的查询,但不能单独用于 WHERE B = y 或 ...
MySQL提供了多种方法来创建、查看和删除索引: - **查看索引**: ```sql SHOW INDEX FROM table_name \G ``` - **创建索引**: ```sql CREATE [UNIQUE] INDEX indexName ON mytable(columnname(length)); ...
10. 索引优化策略: - 避免在索引列上使用NOT、!、、IS NULL、LIKE '%value%'等操作,这些会导致索引失效。 - 尽量让经常一起出现在`WHERE`子句中的列形成复合索引。 - 使用覆盖索引(Covering Index),使查询...
本文将围绕“VIP-mysql索引优化实战一(1)1”这个主题,结合给出的示例表`employees`,讨论如何选择合适的索引以及MySQL如何决定使用哪个索引。 首先,我们来看创建的`employees`表结构,包含`id`(主键)、`name`、...
针对索引优化,有一些规则可遵循: 1. 模糊查询优化:前导模糊查询(如`'%XX'`)无法使用索引,而非前导模糊查询(如`'XX%'`)可以。避免在查询中使用左模糊或全模糊,如果需要,可以考虑使用全文搜索引擎。 2. `...
本文将深入探讨MySQL索引的工作原理、不同类型的索引以及如何进行有效的索引优化策略。 #### 索引的作用及工作原理 索引类似于书籍的目录,可以帮助数据库快速定位数据。在没有索引的情况下,数据库执行查询时需要...
MySQL索引和优化是数据库管理中的关键环节,它直接影响到数据查询的速度和效率。本教程将详细介绍MySQL中的索引类型及其优化策略。 首先,我们需要理解什么是索引。索引是数据库为了快速查找特定记录而创建的一种...