![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL优化
iteye_7552
这个作者很懒,什么都没留下…
展开
-
Mysql索引的设计、使用和优化
[b][size=large]Mysql索引概述[/size][/b]所有MySQL列类型可以被索引。对相关列使用索引是提高SELECT操作性能的最佳途径。根据存储引擎定义每个表的最大索引数和最大索引长度。所有存储引擎支持每个表至少16个索引,总索引长度至少为256字节。大多数存储引擎有更高的限制。在MySQL 5.1中,对于MyISAM和InnoDB表,前缀可以达到1000字节长...原创 2015-09-07 11:49:41 · 66 阅读 · 0 评论 -
数据库中表散列
数据库中的散列法是使用计算值来分配表格数据的方法,它比在整个索引中搜索要好的多。一个哈希散列答应你在数据库表格中存储数据,以便这些行的要害计算的相同值存储在相同的位置。 只有那种数据量超大的数据库才会用到. 表散列与水平分割相似,但没有水平分割那样的明显分割界限, 它由哈希函数和键值决定一条记录的保存文件,这样是为了IO更加均衡。水平分区将表分为多个表。每个表包含的列数相...原创 2015-10-29 00:52:52 · 252 阅读 · 0 评论 -
mysql大数据高并发处理
[size=large]一、数据库结构的设计[/size]如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系...原创 2015-10-26 22:00:02 · 92 阅读 · 0 评论 -
优化SQL查询:如何写出高性能SQL语句
优化SQL查询:如何写出高性能SQL语句 这个问题在好几次面试中都有问到,还是蛮重要的,所以百度一很多资料,这里记录下我看到的比较好的俩文章地址,希望有所借鉴。[url]http://www.cnblogs.com/ATree/archive/2011/02/13/sql_optimize_1.html[/url]...原创 2015-10-17 17:41:22 · 120 阅读 · 0 评论 -
Mysql数据表的优化
优化表的数据类型表需要使用何种数据类型,是需要根据应用来判断的。虽然应用设计的时候需要考虑字段的长度留有一定的冗余,但是不推荐让很多字段都留有大量的冗余,这样即浪费存储也浪费内存。我们可以使用PROCEDURE ANALYSE()对当前已有应用的表类型的判断,该函数可以对数据表中的列的数据类型提出优化建议,可以根据应用的实际情况酌情考虑是否实施优化。语法: SELECT *...原创 2015-09-26 22:26:45 · 74 阅读 · 0 评论 -
调整Mysql中insert、update、delete的顺序来以提高效率
MySQL还允许改变语句调度的优先级,它可以使来自多个客户端的查询更好地协作,这样单个客户端就不会由于锁定而等待很长时间。改变优先级还可以确保特定类型的查询被处理得更快。我们首先应该确定应用的类型,判断应用是以查询为主还是以更新为主的,是确保查询效率还是确保更新的效率,决定是查询优先还是更新优先。下面我们提到的改变调度策略的方法主要是针对Myisam存储引擎的,对于Innodb存储...原创 2015-09-26 22:26:19 · 833 阅读 · 0 评论 -
Mysql join语句的优化
Mysql4.1开始支持SQL的子查询。这个技术可以使用SELECT语句来创建一个单列的查询结果,然后把这个结果作为过滤条件用在另一个查询中。使用子查询可以一次性的完成很多逻辑上需要多个步骤才能完成的SQL操作,同时也可以避免事务或者表锁死,并且写起来也很容易。但是,有些情况下,子查询可以被更有效率的连接JOIN替代。假设我们要将所有没有订单记录的用户取出来,可以用下面这个查询完成: ...原创 2015-09-26 22:25:56 · 80 阅读 · 0 评论 -
Mysql order by语句的优化
在某些情况中,MySQL可以使用一个索引来满足ORDER BY子句,而不需要额外的排序。where条件和order by使用相同的索引,并且order by的顺序和索引顺序相同,并且order by的字段都是升序或者都是降序。例如:下列sql可以使用索引。 SELECT * FROM t1 ORDER BY key_part1,key_part2,... ; SELEC...原创 2015-09-19 11:56:24 · 84 阅读 · 0 评论 -
Mysql group by语句的优化
默认情况下,MySQL排序所有GROUP BY col1, col2, ....,查询的方法如同在查询中指定ORDER BY col1, col2, ...。如果显式包括一个包含相同的列的ORDER BY子句,MySQL可以毫不减速地对它进行优化,尽管仍然进行排序。如果查询包括GROUP BY但你想要避免排序结果的消耗,你可以指定ORDER BY NULL禁止排序。例如: IN...原创 2015-09-13 16:01:16 · 72 阅读 · 0 评论 -
Mysql大量插入数据时SQL语句的优化
1) 对于Myisam类型的表,可以通过以下方式快速的导入大量的数据。 ALTER TABLE tblname DISABLE KEYS; loading the data ALTER TABLE tblname ENABLE KEYS;这两个命令用来打开或者关闭Myisam表非唯一索引的更新。在导入大量的数据到一个非空的Myisam表时,通过设置这两个命令,可...原创 2015-09-11 22:00:33 · 71 阅读 · 0 评论 -
Mysql insert语句的优化
1) 如果你同时从同一客户插入很多行,使用多个值表的INSERT语句。这比使用分开INSERT语句快(在一些情况中几倍)。 Insert into test values(1,2),(1,3),(1,4)…2) 如果你从不同客户插入很多行,能通过使用INSERT DELAYED语句得到更高的速度。Delayed的含义是让insert 语句马上执行,其实数据都被放在内存的队列中,并...原创 2015-09-08 22:59:15 · 60 阅读 · 0 评论 -
Mysql索引优化教程
[b]索引的存储分类[/b]myisam表的数据文件和索引文件是自动分开的;innodb的数据和索引是存储在同一个表空间里面,但可以有多个文件组成。 创建索引语法如下: CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX index_name [USING index_type] ON tbl_name (index_col_name...原创 2015-09-08 22:59:05 · 64 阅读 · 0 评论 -
Mysql下优化SQL的一般步骤
[b]通过show status和应用特点了解各种SQL的执行频率[/b]通过SHOW STATUS可以提供服务器状态信息,也可以使用mysqladmin extended-status命令获得。SHOW STATUS可以根据需要显示session级别的统计结果和global级别的统计结果。以下几个参数对Myisam和Innodb存储引擎都计数:Com_select 执行sele...原创 2015-09-07 11:50:46 · 54 阅读 · 0 评论 -
Mysql SQL Mode详解
[b]Mysql SQL Mode简介[/b]MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式。这样,应用程序就能对服务器操作进行量身定制以满足自己的需求。这类模式定义了MySQL应支持的SQL语法,以及应该在数据上执行何种确认检查。这样,就能在众多不同的环境下、与其他数据库服务器一起更容易地使用MySQL。可以使用“--sql-mode="mod...原创 2015-09-07 11:50:37 · 85 阅读 · 0 评论 -
Mysql使用SQL的安全问题,Mysql防止SQL注入
[b]SQL注入简述[/b]SQL Injection攻击具有很大的危害,攻击者可以利用它读取、修改或者删除数据库内的数据,获取数据库中的用户名和密码等敏感信息,甚至可以 获得数据库管理员的权限。如果能够再利用SQLServer扩展存储过程和自定义扩展存储过程来执行一些系统命令,攻击者还可以获得该系统的控制权。而且,SQL Injection 也很难防范。网站管理员无法通过安装系统补丁或者...原创 2015-09-07 11:50:16 · 91 阅读 · 0 评论 -
Mysql锁机制和事务控制
[b]如何加锁[/b]锁定表的语法: LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...[b]解锁语法[/b]: UNLOCK ...原创 2015-09-07 11:49:56 · 79 阅读 · 0 评论 -
基于Hash算法的Mysql分表处理
下面为您介绍的Mysql分表处理是基于Hash算法的,在了解该Mysql分表处理方法之前,让我们先来了解一下Hash算法。 我们知道Hash表就是通过某个特殊的Hash算法计算出的一个值,这个值必须是惟一的,并且能够使用这个计算出来的值查找到需要的值,这个叫做哈希表。 我们在分表里的hash算法跟这个思想类似:通过一个原始目标的ID或者名称通过一定的hash算法计...原创 2015-10-29 00:58:15 · 172 阅读 · 0 评论