`
xu_wccq
  • 浏览: 130905 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mysql进行优化

    博客分类:
  • SQL
阅读更多
mysql进行优化的地方,简单总结几点:
在设计数据表的时候,尽可能使用最有效(最小的)数据类型,尽可能使用更小的整数类型,可能定义字段类型为 NOT NULL。这会运行的更快,而且每个字段都会节省1个bit。如果在应用程序中确实需要用到 NULL,那么就明确的指定它。不过要避免所有的字段默认值是 NULL),尽可能使用最有效(最小的)数据类型。MySQL有好几种特定的类型能节省磁盘和内存。 尽可能使用更小的整数类型。在 MyISAM 表中,如果没有用到任何变长字段(VARCHAR, TEXT, 或 BLOB字段)的话,那么就采用固定大小的记录格式。这样速度更快,不过可能会浪费点空间。表的主索引应尽可能短。这样的话会每条记录都有名字标识且更高效。只创建确实需要的索引。索引有利于检索记录,但是不利于快速保存记录。如果总是要在表的组合字段上做搜索,那么就在这些字段上创建索引。索引的第一部分必须是最常使用的字段.如果总是需要用到很多字段,首先就应该多复制这些字段,使索引更好的压缩。一个字段很有可能在最开始的一些数量字符是各不相同的,因此在这些字符上做索引更合适。MySQL支持在一个字段的最左部分字符做索引。索引越短,速度越快,不仅是因为它占用更少的磁盘空间,也因为这提高了索引缓存的命中率,由此减少了磁盘搜索。在某些情况下,把一个频繁扫描的表分割成两个更有利。在对动态格式表扫描以取得相关记录时,它可能使用更小的静态格式表的情况下更是如此。

进行数据库操作的时候,能有多简单就有多简单,能不用圆括号就不用圆括号,去掉那些多余的选项,能用SQL解决的就不要用程序语言来处理(mysql处理的速度比解析语言快很多);

删除表中所有数据的时候,用效率更高的TRUNCATE TABLE tbl_name 而不是DELETE FROM tbl_name;

在锁表的情况下,更新多个记录比多次更新记录要快很多,因此:推迟更新并且把很多次更新放在后面一起做。

数据库在连接时的开销很大,一个页面行不要有多次对库进行连接和关闭的操作!

经常需要读写操作的表用 MEMORY(HEAP)表!
分享到:
评论
4 楼 spamer 2008-06-30  
更不明白了
3 楼 spamer 2008-06-30  
汗!!!
=_=!!!
狂汗!
没看懂什么意思啊
能这样:select * from table limited count 表达吗?

我这边报错,我的mysql版本是  5.0.41  的
2 楼 spamer 2008-06-30  
=_=!!!
晕,没看懂什么意思啊
1 楼 spamer 2008-06-30  
"在同时用 limited count和order by 的时候,找到count 记录之后,就停止扫描数据表里,因此,排序只有在所搜索的数据部分进行排序,并不是整个数据表(特别要注意!)"
这个不对吧......不要误人子弟啊...

测都没测就把它贴出来。。。
是先排好序,然后再进行字段选择的,要不然也不会产生临时表了

mysql> select id,name,status,lastupdate from tasks;
+----+--------------+--------+---------------------+
| id | name         | status | lastupdate          |
+----+--------------+--------+---------------------+
| 14 | stop         | P      | 2008-06-18 09:38:31 |
| 15 | stock_total  | P      | 2008-06-06 19:29:08 |
| 16 | stock_total1 | P      | 2008-06-18 15:58:46 |
| 22 | stock_total  | P      | 2008-06-18 17:29:54 |
| 23 | stock_total  | P      | 2008-06-18 17:30:03 |
| 21 | stock_total  | P      | 2008-06-18 17:29:30 |
| 24 | stock_total  | E      | 2008-06-18 17:34:46 |
| 25 | stock_total  | P      | 2008-06-18 17:34:52 |
| 26 | stock_total  | P      | 2008-06-18 17:35:25 |
| 27 | stock_total  | P      | 2008-06-18 17:35:44 |
| 28 | stock_total  | P      | 2008-06-18 17:40:59 |
| 29 | stock_total  | P      | 2008-06-18 17:46:58 |
+----+--------------+--------+---------------------+

mysql> select id,name,status,lastupdate from tasks order by id desc limit 0,3;
+----+-------------+--------+---------------------+
| id | name        | status | lastupdate          |
+----+-------------+--------+---------------------+
| 29 | stock_total | P      | 2008-06-18 17:46:58 |
| 28 | stock_total | P      | 2008-06-18 17:40:59 |
| 27 | stock_total | P      | 2008-06-18 17:35:44 |
+----+-------------+--------+---------------------+

相关推荐

    千金良方:MySQL性能优化金字塔法则.docx

    金字塔法则认为,MySQL性能优化的关键在于建立一个多层次的优化体系,从硬件层、操作系统层、数据库层、应用程序层到架构层进行全面优化。这一法则的提出,为MySQL性能优化提供了一个系统化的方法论,为开发人员和...

    MySQL数据库优化SQL篇PPT课件.pptx

    从执行计划、SELECT语句、IN和EXIST语句、LIMIT语句、RAND函数、Order by、Group by、Distinct和Count等方面对MySQL数据库优化进行了详细的讲解。 一、执行计划 执行计划是MySQL数据库优化的重要步骤。执行计划...

    mysql性能优化.pptx

    注意`Extra`列中的`Using filesort`和`Using temporary table`,这些表明了MySQL需要额外的资源进行排序或创建临时表,可能是优化的焦点。 3. **索引优化** - 选择合适的列建立索引:考虑选择具有高选择性的列,即...

    MySQL优化.docx

    "MySQL优化" MySQL是一种关系型数据库管理系统,作为一种流行的开源数据库,MySQL广泛应用于各种Web应用、企业应用和移动应用等领域。为了提高MySQL的性能和效率,需要进行优化,下面将从硬件、操作系统、软件、...

    mysql优化笔记+资料

    这些笔记涵盖了MySQL优化的主要方面,包括查询优化、SQL编写技巧、数据库设计、存储引擎选择、服务器配置、硬件升级、定期维护以及使用各种工具进行监控和调优。通过这些方法,你可以有效地提升MySQL数据库的运行...

    MySQL性能优化和高可用架构实践.pptx

    "MySQL性能优化和高可用架构实践" 本书《MySQL性能优化和高可用架构实践》是一本详细介绍MySQL性能优化和高可用架构实践的书籍,旨在帮助读者提升MySQL数据库的性能和可靠性。本书的内容涵盖了查询优化的基本原则和...

    MySQL架构执行与SQL性能优化 MySQL高并发详解 MySQL数据库优化训练营四期课程

    课程内容进行了精华的浓缩,有四大内容主旨,MySQL架构与执行流程,MySQL索引原理详解,MySQL事务原理与事务并发,MySQL性能优化总结与MySQL配置优化。课程安排的学习的教程与对应的学习课件,详细的学习笔以及课程...

    Mysql性能优化教程

    MySQL性能优化是数据库管理中的关键环节,特别是在高并发场景下,优化MySQL的性能对于提升系统整体效率至关重要。本教程将深入探讨MySQL性能优化的各个方面,帮助你理解并实践有效的优化策略。 首先,我们来了解**...

    mysql优化配置大全

    mysql慢可能是配置不对,阅读一下这个可能对你有帮助 ...对于Discuz!... 下面我们了解一下MySQL优化的一些基础,MySQL的优化我分为两个部分,一是服务器物理硬件的优化,二是MySQL自身(my.cnf)的优化。

    MySQL性能优化中文手册

    MySQL性能优化是数据库管理员和开发人员的关键技能,它涉及到如何有效地使用SQL语句、存储过程和函数,以提高数据查询速度和系统整体效率。本手册将深入探讨这些关键领域,帮助你理解并实施最佳实践。 在SQL语句...

    从 0 开始带你成为MySQL实战优化高手

    【MySQL实战优化高手之路】 MySQL,作为世界上最受欢迎的关系型数据库管理系统之一,对于任何涉及数据库管理、开发或运维的IT专业人士来说,都是一个必备的技能。本资源集合旨在帮助你从零开始,逐步深入理解MySQL...

    mysql 性能优化与架构设计(word版)

    本资料提供了一个全面的视角,深入探讨了如何优化MySQL的性能并进行有效的架构设计。 一、MySQL性能优化 1. 查询优化:查询优化是性能提升的关键。通过编写高效的SQL语句,避免全表扫描,使用索引,减少JOIN操作,...

    百度mysql性能优化ppt

    6. **监控与调优工具**:介绍如何使用Performance Schema、MySQL Tuner、Percona Toolkit等工具进行性能监控和问题定位。 7. **源码分析**:深入MySQL源码,理解其内部处理流程,为更深层次的优化提供理论基础。 8...

    MySQL性能优化 SQL优化方法技巧

    ### MySQL性能优化与SQL优化方法技巧 #### 一、引言 MySQL作为一款广泛使用的开源关系型数据库管理系统,其性能优化对于确保应用系统的稳定性和高效运行至关重要。通过对MySQL的优化,不仅能提升系统的响应速度,还...

    MySQL参数优化辅助工具

    为了有效地进行MySQL参数优化,开发人员和DBA通常会使用各种工具。本篇将围绕“MySQL参数优化辅助工具”这一主题,详细介绍相关知识点,并提供一个可能的辅助工具介绍。 在MySQL的运行过程中,有许多配置参数可以...

    MYSQL优化-一篇很好的优化文章

    21. MYSQL扩展/优化-提供更快的速度 22. MYSQL何时使用索引 23. MYSQL何时不使用索引 24. 学会使用EXPLAIN 25. 学会使用SHOW PROCESSLIST 26. 如何知晓MYSQL解决一条查询 27. MYSQL非常不错 28. MYSQL应避免...

Global site tag (gtag.js) - Google Analytics