我有一张450000排新闻的桌子.

表模式是这样的:

CREATE TABLE IF NOT EXISTS `news` (

`id` int(11) NOT NULL auto_increment,

`cat_id` int(11) NOT NULL,

`title` tinytext NOT NULL,

`content` text NOT NULL,

`date` int(11) NOT NULL,

`readcount` int(11) NOT NULL default '0',

PRIMARY KEY (`id`),

KEY `cat_id` (`cat_id`),

KEY `cat_id_2` (`cat_id`,`id`),

KEY `cat_id_date` (`cat_id`,`date`)

) ENGINE=MyISAM DEFAULT CHARSET=latin5 AUTO_INCREMENT=462679 ;

当我运行如下的sql命令为类别页面的页面“x”获取一些新闻时,如果x超过100则需要超过15秒:

select * news where cat_id='4' order by id desc limit 150000,10;

解释说明它使用“where”和索引“cat_id_2”

在写这个问题时,我还检查了一个更简单的SQL查询,这也花了近一分钟:

select * from haberler order by id desc limit 40000,10;

如果sql如下所示,只需几毫秒:

select * from haberler order by id desc limit 20,10;

我的my.cnf配置是这样的:

skip-locking

skip-innodb

query_cache_limit=1M

query_cache_size=256M

query_cache_type=1

max_connections=30

interactive_timeout=600000

#wait_timeout=5

#connect_timeout=5

thread_cache_size=384

key_buffer=256M

join_buffer=4M

max_allowed_packet=16M

table_cache=1024

record_buffer=1M

sort_buffer_size=64M

read_buffer_size=16M

max_connect_errors=10

# Try number of CPU's*2 for thread_concurrency

thread_concurrency=2

myisam_sort_buffer_size=128M

long_query_time = 1

log_slow_queries = /var/log/mysql/mysql-slow.log

max_heap_table_size=512M

该网站运行在core2duo上,内存为2GB.

我认为问题可能是由sort_buffer_size引起的,但我不确定.

提前致谢.

mysql 索引配置_Mysql索引配置相关推荐

  1. mysql多索引结构_MySQL 索引结构

    谈到 MYSQL 索引服务端的同学应该是熟悉的不能再熟悉,新建表的时候怎么着都知道先来个主键索引,对于经常查询的列也会加个索引加快查询速度.那么 MYSQL 索引都有哪些类型呢?索引结构是什么样的呢? ...

  2. mysql的索引优化_MySQL索引优化与分析(重要)

    建表SQL CREATE TABLE staffs ( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR (24) NULL DEFAULT '' COM ...

  3. mysql多列索引用处_MySQL索引使用说明(单列索引和多列索引)

    1. 单列索引 在性能优化过程中,选择在哪些列上创建索引是最重要的步骤之一.可以考虑使用索引的主要有两种类型的列:在Where子句中出现的列,在join子句中出现的列.请看下面这个查询: 这个查询与前 ...

  4. mysql 索引语法_MySQL 索引:语法及案例剖析

    MySQL 索引 MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 打个比方,如果合理的设计且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索 ...

  5. mysql索引分析_MySQL索引分析和优化

    什么是索引? 索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存.如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录.表里面 ...

  6. mysql范围条件_MySQL 索引及优化实战(一)

    mysql 随着系统用户量的不断增加,MySQL 索引的重要性不言而喻,对于后端工程师,只有在了解索引及其优化的规则,并应用于实际工作中后,才能不断的提升系统性能,开发出高性能.高并发和高可用的系统. ...

  7. mysql匹配数据结构_MySQL索引背后的数据结构及原理

    前两天经历了武汉一行腾讯面试,数据库索引是一个面试热点,在此搜集相关资料,以备学习之用. 下面是一位牛人写得关于数据库索引的精品之作,因为很好,不敢修饰,转载至此与博友共享. 本文以MySQL数据库为 ...

  8. mysql选择索引逻辑_Mysql索引选择逻辑

    有时候我们会发现mysql可能出现选错索引的情况,要了解这个问题我们得先看看sql优化器是怎么选择索引的 索引选择逻辑 优化器选择索引的目的,是找到一个最优的执行方案,并用最小的代价去执行语句.在数据 ...

  9. mysql 索引查询_mysql索引的建立和查询语句优化

    首先表内容展示: # 300W条的模拟数据 # 并且没有建立任何索引 不建立索引的查询时间: 以id查询的(4秒多): 以email查询的(4秒多): 建立主键索引后: alter table s1 ...

  10. mysql 索引 原理_MySQL索引实现原理分析

    目前大部分数据库系统及文件系统都采用B-Tree(B树)或其变种B+Tree(B+树)作为索引结构.B+Tree是数据库系统实现索引的首选数据结构.在MySQL中,索引属于存储引擎级别的概念,不同存储 ...

最新文章

  1. linux qt 音频文件怎么打开,Qt:获取Linux中可用音频设备的列表
  2. python123测验9程序题答案_Django ORM 练习题及答案_python_脚本之家
  3. 解决MSN无法登录问题的意外收获
  4. 数据结构 5-2 二叉树建树
  5. zk监控集群几点变化 给管理员发邮件
  6. nagios介绍及Server安装(三)
  7. dubbo面试题-dubbo源码解析
  8. 凤凰职教网计算机一级成绩查询,一-凤凰职教网.PPT
  9. Spring源码解析(一)
  10. 《快速掌握QML》第六章 动画
  11. 怎样在富文本编辑器插入图片
  12. 5月市场平稳,期货成交量环比下降
  13. docer kafka安装
  14. play_framework框架--教程(一)
  15. 自媒体平台有哪些---(特点及优缺点)
  16. linux上ftp登录失败解决办法
  17. 使用php读取文件中的内容,以表格的形式进行输出。
  18. 批量转化py2topy3脚本
  19. 使用python实现智能浇筑方案
  20. python实现监控URL的一个值小于规定的值--邮件报警

热门文章

  1. 如何把照片进行压缩?好用的压缩方法分享
  2. ICPC训练联盟2021寒假冬令营(5)_2021.01.22_笔记
  3. Microsoft fsx 飞行模拟器 SDK的一些心得
  4. centos7 vim查找_如何在 Vim/Vi 中快速查找和替换文本内容
  5. 中科院大学计算机科学与技术王伟强,王伟强 - 中国科学院大学 - 计算机科学与技术学院...
  6. 订阅号 openid php,微信“订阅号”如何存放openid,并在其他页面使用
  7. c语言成绩与平均分问题,用C语言编程平均分数
  8. 购物车的实现——淘淘商城(二十六)
  9. 对图标的坐标轴进行调整
  10. 打开小米5开发者选项