ubuntu10.04 中的mysql自启动
时间:2010-08-23
来源:互联网
手上有个数据库,只有一个表MyISAM,latin1_swedish_ci,3个字段(id int(7) auto_increment, title varchar(150), file smallint(5)),其中title加了fulltext的index
5M多条记录,其中title绝大多数为小于100字符的,一大半的是小于50个字符的。基本上没有多字节字符。表存储文件大小192兆。
平时操作只有查询title里面的字符串,用like似乎比regexp快一点。不插入,不修改,不删除。只有本地应用。
查询语句只是select * from table where title like '%sss%'
目前查询速度很慢,(我的硬件年纪也比较大了)。每条查询语句平均在3-5秒。
我试着修改了表格的结构,把title varchar(150)改为char(100),把那些太长的title截断了,再做fulltext index,文件大小变成586M了,速度更慢了。
现在我不知道该怎么去优化了,改my.cnf又不会改。
问题:
1、表的数据结构该怎么改动会提高查询速度?(可以考虑把长title字段截断的方案)
2、my.cnf里的内存什么的值该怎么改动能加快查询速度?
3、我曾试过用storage引擎,但是结果比myisam慢多了,是不是我什么地方没有搞对?不过网上有说论查询storage速度是不行的。
谢谢了!
附上我乱搞以后的my.conf
---------------------------------------------------------------
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
skip-external-locking
#
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 384M
max_allowed_packet = 32M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 4M
query_cache_size = 256M
#
# * Logging and Replication
#
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# chroot = /var/lib/mysql/
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/
5M多条记录,其中title绝大多数为小于100字符的,一大半的是小于50个字符的。基本上没有多字节字符。表存储文件大小192兆。
平时操作只有查询title里面的字符串,用like似乎比regexp快一点。不插入,不修改,不删除。只有本地应用。
查询语句只是select * from table where title like '%sss%'
目前查询速度很慢,(我的硬件年纪也比较大了)。每条查询语句平均在3-5秒。
我试着修改了表格的结构,把title varchar(150)改为char(100),把那些太长的title截断了,再做fulltext index,文件大小变成586M了,速度更慢了。
现在我不知道该怎么去优化了,改my.cnf又不会改。
问题:
1、表的数据结构该怎么改动会提高查询速度?(可以考虑把长title字段截断的方案)
2、my.cnf里的内存什么的值该怎么改动能加快查询速度?
3、我曾试过用storage引擎,但是结果比myisam慢多了,是不是我什么地方没有搞对?不过网上有说论查询storage速度是不行的。
谢谢了!
附上我乱搞以后的my.conf
---------------------------------------------------------------
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
skip-external-locking
#
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 384M
max_allowed_packet = 32M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 4M
query_cache_size = 256M
#
# * Logging and Replication
#
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# chroot = /var/lib/mysql/
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/
作者: sanz 发布时间: 2010-08-23
还是重新实现你的表吧
作者: link_01 发布时间: 2010-08-23
楼上大侠,所言为何啊?不懂。
重做表格?怎么做?没有思路啊
重做表格?怎么做?没有思路啊
作者: sanz 发布时间: 2010-08-23
手上有个数据库,只有一个表MyISAM,latin1_swedish_ci,3个字段(id int(7) auto_increment, title varchar(150), file smallint(5)),其中title加了fulltext的index
5M多条记录,其中title绝大多数为小于100字符的,一大半的是小于50个字符的。基本上没有多字节字符。表存储文件大小192兆。
平时操作只有查询title里面的字符串,用like似乎比regexp快一点。不插入,不修改,不删除。只有本地应用。
查询语句只是select * from table where title like '%sss%'
目前查询速度很慢,(我的硬件年纪也比较大了)。每条查询语句平均在3-5秒。
我试着修改了表格的结构,把title varchar(150)改为char(100),把那些太长的title截断了,再做fulltext index,文件大小变成586M了,速度更慢了。
现在我不知道该怎么去优化了,改my.cnf又不会改。
问题:
1、表的数据结构该怎么改动会提高查询速度?(可以考虑把长title字段截断的方案)
2、my.cnf里的内存什么的值该怎么改动能加快查询速度?
3、我曾试过用storage引擎,但是结果比myisam慢多了,是不是我什么地方没有搞对?不过网上有说论查询storage速度是不行的。
谢谢了!
附上我乱搞以后的my.conf
---------------------------------------------------------------
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
skip-external-locking
#
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 384M
max_allowed_packet = 32M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 4M
query_cache_size = 256M
#
# * Logging and Replication
#
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# chroot = /var/lib/mysql/
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/
5M多条记录,其中title绝大多数为小于100字符的,一大半的是小于50个字符的。基本上没有多字节字符。表存储文件大小192兆。
平时操作只有查询title里面的字符串,用like似乎比regexp快一点。不插入,不修改,不删除。只有本地应用。
查询语句只是select * from table where title like '%sss%'
目前查询速度很慢,(我的硬件年纪也比较大了)。每条查询语句平均在3-5秒。
我试着修改了表格的结构,把title varchar(150)改为char(100),把那些太长的title截断了,再做fulltext index,文件大小变成586M了,速度更慢了。
现在我不知道该怎么去优化了,改my.cnf又不会改。
问题:
1、表的数据结构该怎么改动会提高查询速度?(可以考虑把长title字段截断的方案)
2、my.cnf里的内存什么的值该怎么改动能加快查询速度?
3、我曾试过用storage引擎,但是结果比myisam慢多了,是不是我什么地方没有搞对?不过网上有说论查询storage速度是不行的。
谢谢了!
附上我乱搞以后的my.conf
---------------------------------------------------------------
[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock
[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
skip-external-locking
#
bind-address = 127.0.0.1
#
# * Fine Tuning
#
key_buffer = 384M
max_allowed_packet = 32M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
#max_connections = 100
#table_cache = 64
#thread_concurrency = 10
#
# * Query Cache Configuration
#
query_cache_limit = 4M
query_cache_size = 256M
#
# * Logging and Replication
#
#general_log_file = /var/log/mysql/mysql.log
#general_log = 1
#
#log_slow_queries = /var/log/mysql/mysql-slow.log
#long_query_time = 2
#log-queries-not-using-indexes
#
#server-id = 1
#log_bin = /var/log/mysql/mysql-bin.log
expire_logs_days = 10
max_binlog_size = 100M
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
#
# * InnoDB
#
# chroot = /var/lib/mysql/
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completition
[isamchk]
key_buffer = 16M
!includedir /etc/mysql/conf.d/
作者: sanz 发布时间: 2010-08-23
还是重新实现你的表吧
作者: link_01 发布时间: 2010-08-23
楼上大侠,所言为何啊?不懂。
重做表格?怎么做?没有思路啊
重做表格?怎么做?没有思路啊
作者: sanz 发布时间: 2010-08-23
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28