`
zhengdl126
  • 浏览: 2538259 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

mysql 大数据量优化集合

阅读更多

-------------------当表记录超过30万的时候,以前写的代码报错:

“select * from gll_pro_ru WHERE 1 = 1 ORDER BY id DESC
select * from gll_pro_ru WHERE 1 = 1 ORDER BY id DESC limit 0,10000

Fatal error : Allowed memory size of 16777216 bytes exhausted (tried to allocate 39 bytes) in /var/www/web-sale/class/db.class.php on line 405

405: while ($array_tmp[$i] = mysql_fetch_array($query,MYSQL_ASSOC))

 

 

解决方法:单个PHP运行程序最大可以用16M的内存,而实际需要的要大于它,而抱错。解决方法就是改php.ini的memory_limit的值,允许程序占于更大的内存,也可以在php代码里用ini_set("memory_limit","256M");设置.

想测试这个错也很简单,比如include一个大于2M甚至更大的文件。

 

 

 

 

 

 

 

 

 

 

-----------------------limit 对索引的影响

mysql> EXPLAIN select * from gll_pro_ru where sn_class =7 ORDER BY id DESC ;    +----+-------------+------------+------+----------------+------+---------+------+--------+-----------------------------+
| id | select_type | table      | type | possible_keys  | key   | key_len | ref  | rows   | Extra                       |
+----+-------------+------------+------+----------------+------+---------+------+--------+-----------------------------+
|  1 | SIMPLE      | gll_pro_ru | ALL  | class_ctime_no | NULL | NULL     | NULL | 269667 | Using where; Using filesort |
+----+-------------+------------+------+----------------+------+---------+------+--------+-----------------------------+
1 row in set (0.00 sec)

 

 

 

 

mysql> EXPLAIN select * from gll_pro_ru where sn_class =7 ORDER BY id DESC limit 0,10000;
+----+-------------+------------+-------+----------------+----------------+---------+------+--------+-----------------------------+
| id | select_type | table      | type  | possible_keys  | key             | key_len | ref  | rows   | Extra                       |
+----+-------------+------------+-------+----------------+----------------+---------+------+--------+-----------------------------+
|  1 | SIMPLE      | gll_pro_ru | range | class_ctime_no | class_ctime_no |       | NULL | 357645 | Using where; Using filesort |
+----+-------------+------------+-------+----------------+----------------+---------+------+--------+-----------------------------+
1 row in set (0.02 sec)

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    MySql性能优化集合--满满的干货

    然而,在高并发、大数据量的情况下,可能会遇到性能瓶颈。因此,进行MySQL性能优化是非常必要的。MySQL优化主要包括以下几个方面: 1. **查询优化**:通过对SQL查询语句的调整,使得查询更加高效。 2. **数据库结构...

    MySQL GUI Tools MYSQL优化工具

    MySQL GUI Tools是一款强大的图形用户界面工具集合,专为MySQL数据库管理系统设计,旨在简化数据库的管理和优化。这款工具集包括了多种实用工具,如MySQL Workbench、MySQL Query Browser、MySQL Administrator等,...

    mysql.data版本集合

    8. **分区与分片**:对于大数据量的表,可以采用分区或分片技术,将数据分散到多个物理存储上,提高查询效率。 9. **缓存策略**:使用内存中的缓存(如MySQL的InnoDB Buffer Pool)可以减少磁盘I/O,加快数据访问...

    MySQL性能优化中文手册

    通过深入学习和实践,你可以提升MySQL系统的响应速度,满足高并发、大数据量的业务需求。《MySQL性能优化中文手册》中的Chapter_7._Optimization.pdf章节,将会详细阐述这些知识点,帮助你成为真正的MySQL性能优化...

    mysql调优文档集合

    mysql调优文档集合 mysql_配置详解.docx MySQL性能调优文档.pdf MySQL性能调优与架构设计--全册.pdf MySQL性能优化概述.pdf ...如何处理大数据量的查询.doc 深入浅出MySQL数据库开发、优化与管理维护.pdf

    七百万mysql测试数据

    首先,这七百万条测试数据可以用于模拟真实世界的高负载环境,帮助我们了解在大量数据下的数据库性能。在数据库管理中,性能测试是至关重要的,尤其是对于慢查询的识别和优化。慢查询通常由不恰当的SQL语句或缺乏...

    mysql 面试题集合.docx

    分区表是MySQL中一种用于管理大量数据的表结构。MySQL支持多种类型的分区,包括按范围分区、按列表分区、按哈希分区、按键值分区等。 2. 什么是主从复制?MySQL中如何实现主从复制? 主从复制是MySQL中一种常用的...

    MySql_C 接口集合

    - **使用场景**:数据量大或复杂查询时,确保数据完整性。 #### 42. `mysql_reload()` - **功能**:请求服务器重新加载授权表。 - **使用场景**:权限调整后的即时生效,无需重启服务。 #### 43. `mysql_row_seek...

    淘宝分类数据mysql

    在电商领域,如淘宝这样的大型网站,MySQL是用于存储、管理和检索大量数据的关键组件。 2. **数据库设计**:淘宝分类数据可能涉及多个表,如`categories`(分类)、`products`(商品)、`category_relations`(分类...

    优化mysql存储数据-----最基础的.pdf

    MySQL 存储数据优化 MySQL 提供了大量的数据类型,为了优化存储、提高数据库性能,在任何情况下均应使用最精确的类型,即在所有可以表示该列值的类型中,该类型使用的存储最少。本文将详细介绍 MySQL 中常见的数据...

    MySQL 8.0 Reference Manual MySQL 8.0 Reference Manual

    * 数据仓库:MySQL 8.0 可以用作数据仓库,存储和分析大量数据 * 实时数据处理:MySQL 8.0 可以用作实时数据处理系统,实时处理和分析数据 MySQL 8.0 是一个功能强大且灵活的关系数据库管理系统,它提供了许多强大...

    Mysql使用存储过程快速添加百万数据.docx

    Mysql 是一个流行的关系型数据库管理系统,它提供了存储过程的功能,可以用来快速添加大量数据。在本文中,我们将介绍如何使用 Mysql 存储过程快速添加百万数据,并讨论相关的知识点。 知识点一:Mysql 存储过程 ...

    redis集群jvm调优实战MySQL5.6性能优化&Tomcat7优化.rar

    在IT领域,优化是提升系统性能的关键步骤,尤其是在高并发、大数据量的环境下。本资料集围绕四个核心主题展开:Redis集群、JVM调优、MySQL 5.6性能优化和Tomcat 7的优化,旨在帮助开发者和运维人员更好地理解和实践...

    大数据量分页

    在IT行业中,大数据量分页是一项重要的技术,特别是在Web应用中,当用户需要浏览大量数据时,如电子商务网站的产品列表或社交媒体平台的消息流。分页能够有效地管理并展示这些数据,提高用户体验,同时减轻服务器...

    2020省市区2019省市区街道4级MySQL数据.zip

    至于压缩包内的“2020省市区2019省市区街道4级MySQL数据”,很可能是包含所有表格和相关脚本的文件集合,可能包含SQL脚本用于创建数据库结构,以及CSV或TXT格式的数据文件,便于导入MySQL数据库。在使用这些数据之前...

    MySQL性能优化概述

    随着应用系统的扩展和数据量的增长,对MySQL进行性能优化变得至关重要。本文将深入探讨MySQL性能优化的关键方面,包括硬件与软件环境的选择、数据表设计、索引管理、SQL语句优化以及存储引擎的选择等。 #### MySQL...

    MySQL高级配置优化指导

    ### MySQL高级配置优化指导 #### MySQL配置操作与优化概述 MySQL作为一款广泛使用的开源关系型数据库管理系统,在实际应用中往往需要根据不同的业务场景来进行合理的配置调整以满足性能需求。本文档将详细介绍...

    mysql数据类型详解.pdf

    总之,MySQL数据类型的灵活使用对于数据库性能优化至关重要,同时也关系到数据完整性和安全性。在实际应用中,数据库管理员和开发者应当根据实际需求和数据特性,选择最合适的数据类型,以达到存储高效和查询快速的...

Global site tag (gtag.js) - Google Analytics