老问题 超过100w条的表怎么去优化
项目中有个表主要用来记录打电话的记录
表字段大概
账户名 计费类型 主叫号码 被叫号码 开始时间 结束时间 时长(秒) 费用 日期
现在已经有超过100w了,以大概每天2w的速度增加,以前浏览器打开很快,现在要等个5,6秒才出来
请问怎么去优化,自己只会用plsql写写简单的存储过程和触发器。对索引是一知半解
自己可能一句两句听不懂,但这个工作领导早晚要安排我做,或者有这方面的比较不错的书推荐没?
------解决方案--------------------
首先常用的几个检索条件肯定都是要有索引的
其次建立几个联合索引,联合索引的另一个好处是如果需要检索的所有数据都在这个索引里,那么全索引快速扫描要比全表扫描要快。而且顺序条件合适的话还可以走索引范围扫描。举个例子
比如 要检索某一个月内所有打过的电话号码,只需要电话号码这一个列。不需要其他列
如果有这样一个索引(CALL_NO,START_TIME DATE)就可以走全 索引快速扫描
如果有(START_TIME DATE,CALL_NO)这样一个索引 就可以走索引范围扫描
推荐你了解下oracle的索引建立查询机制和存储机制,不用深入知道基本原理就行。半天时间就够用,这样效率会高很多。