龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > MySQL 技术 >

MySQL中创建及优化索引组织结构的思路(1)(3)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
4.根据业务规则描述需要使用操纵数据的SQL语句 EXPLAIN SELECT * FROM goods_order WHERE `order_id`=40918986; SELECT * FROM goods_order WHERE `order_id` IN (40918986,40717328,30923040...

4.根据业务规则描述需要使用操纵数据的SQL语句

  1. EXPLAIN SELECT * FROM goods_order WHERE `order_id`=40918986;  
  2. SELECT * FROM goods_order WHERE `order_id` IN (40918986,40717328,30923040...) ORDER BY gmt_modify DESC;  
  3. UPDATE goods_order SET gmt_modify=NOW(),.... WHERE  `order_id`=40717328 AND goods_id=4248;  
  4. SELECT COUNT(*) FROM goods_order WHERE depot_id=0 ORDER BY gmt_modify DESC LIMIT 0,50;  
  5. SELECT * FROM goods_order WHERE depot_id=6 AND packet_id=0 ORDER BY gmt_modify DESC LIMIT 0,50;  
  6. SELECT COUNT(*) FROM goods_order WHERE goods_id=4248 AND order_status=0 AND order_type=1  
  7. SELECT * FROM goods_order WHERE goods_id=4248 AND order_status=0 AND order_type=1 ORDER BY gmt_modify DESC LIMIT 0,50;  
  8. SELECT * FROM goods_order WHERE gmt_modify>=’ 2011-04-06’; 

8条SQL语句按触发其执行的用户分类:

● 前台用户点击触发的操作而会执行的SQL语句为:(1)、(2)、(3);

● 后台内部用户点击触发的操作而会执行的SQL语句为:(1)、(2)、(3)、(4)、(5)、(6)、(7);

● 后台系统自动定期执行:(4)、(5)、(6)、(7),工作时间正常情况每隔15分钟执行一次,以检查是否有已付款而没有准备货物的订单、是否有收款而未发货的订单等;

● 统计分析系统定期导出数据而执行的SQL语句为:(8),频率为每24小时一次;

我们再分析上述列出来的SQL,分为2类,一类是读操作的SQL(备注:SELECT操作),另外一类为修改性操作(备注:UPDATE、DELETE操作),分别如下:

SELECT 的WHERE子句、GROUP BY子、ORDER BY 子句和HAVING 子句中,出现的字段:

(1). order_id

(2). order_id+gmt_modify

(3). depot_id+gmt_modify

(4). depot_id+packet_id+gmt_modify

(5). goods_id+order_status+order_type

(6). goods_id+order_status+order_type+gmt_modify

(7). gmt_modify

修改性操作的WHERE子句中出现的条件字段:

(8). order_id+ goods_id

我们已经存在主键索引:PRIMARY KEY(order_id,`goods_id`),另外考虑到此表数据的操作以SELECT和INSERT为主,UPDATE的SQL量其次,再根据上述SQL语句,为此我们可以初步确定需要创建的索引:

  1. ALTER TABLE goods_order   
  2. ADD INDEX idx_goodsID_orderType_orderStatus_gmtmodify(goods_id,order_type,order_status,gmt_modify),  
  3. ADD INDEX idx_depotID_packetID_gmtmodify(depot_id,packet_id,gmt_modify); 


精彩图集

赞助商链接