这是我们ERP中的一个订单表,其中记录大概有800万条,所占磁盘空间是:2.45G。
字段如图:
所有的字段都带着索引,现在的问题是,我们操作这张表,就会变得异常的缓慢,有时就连一个很简单的主键搜索都会很慢。
索引如下:ERP服务器内存16G,CPU不知道什么CPU,反正很强大。服务器 w 查看负载,达到2时,大家操作就基本上慢死了,top 第一是 mysql。请问大家能给我一点意见让我优化一下目前的数据库么?谢谢!
字段如图:
所有的字段都带着索引,现在的问题是,我们操作这张表,就会变得异常的缓慢,有时就连一个很简单的主键搜索都会很慢。
索引如下:ERP服务器内存16G,CPU不知道什么CPU,反正很强大。服务器 w 查看负载,达到2时,大家操作就基本上慢死了,top 第一是 mysql。请问大家能给我一点意见让我优化一下目前的数据库么?谢谢!
解决方案 »
- select语句问题, 怎样将两个表内相同的列生成一个表内?
- 数据库中的内容怎么设计,有什么好书或经验
- mysql timestamp查询时候自动更新问题
- 求二条关联SQL语句
- ado连接mysql,怎么判断某个数据库是否存在
- mysql服务一启就停,高分求解
- 连接远程MYSQL数据库出错,谁知道原因?
- Linux 下用 phpMyAdmin 的困惑
- 请问怎样启动多个MySQL服务?
- 1000.00元左右,请人做一个电子商务平台,包括数据(ASP、PHP……都可以),还有页面设计,不要很复杂,专售玩具的,要易于
- mysql启动问题,谢谢,很急,在线等。
- Myql select * 与select count(*) 求大神。。在线等。
r_code = "0" ORDER BY orders_id ASC LIMIT 5另外:以下SQL本来很慢,运维又建立了一个复合索引,所以快了:
SELECT orders_id, orders_original_id, orders_platform, orders_shop_name, orders_delivery_address, orders_total_us_price, orders_shipping_method, orders_shipping_method_actual, orders_timestamp_purchased, orders_print_status, orders_main_status, orders_has_track_number, orders_buyer_id, orders_delivery_addr_confirmed, orders_purchase_status, orders_date_import, orders_dispatched_times, orders_date_sold, orders_allow_2_split, packers_list, orders_in_mail_box, orders_oversea_warehouse_id
FROM `orders`
WHERE orders_id >=13092407
AND (
(
(
orders_purchase_status =1
OR orders_purchase_status =2
)
AND (
orders_main_status <>8
AND orders_main_status <>12
AND orders_main_status <>13
)
)
)
AND (
orders_purchase_status
IN ( 2 )
)
AND (
orders_platform = "EBAY"
)
ORDER BY orders_date_import ASC
LIMIT 0 , 60
key_buffer = 1024M
max_allowed_packet = 32M
table_cache = 4096
sort_buffer_size = 4M
read_buffer_size = 4M
read_rnd_buffer_size = 4M
join_buffer_size=4M
myisam_sort_buffer_size = 16M
thread_cache_size = 8
query_cache_type=1
query_cache_size = 512M
query_cache_limit=16M
thread_concurrency = 32
default-time-zone=+8:00
max_connections = 512
skip-name-resolve
#log-bin=mysql-bin
expire_logs_days = 15
#binlog_format=mixedlong_query_time = 1
log-slow-queries = /var/log/slow.sql#并发写入
concurrent_insert=2
explain SELECT `orders_id` FROM `orders` WHERE orders_main_status = 5 AND orders_oversea_warehouse_id=2 AND r
r_code = "0" ORDER BY orders_id ASC LIMIT 5;