数据库优化

1、索引的优化(索引的创建:oracle中为create index 索引名 on 表名(列名); )
        当我们数据库的数据过多,查询速度跟不上时,我们可以通过创建索引的方式,加快速度,
我自己进行过一个测试,我当时用了300万条数据,字段大概8个 ,不加索引时查询一条数据用了8.626秒,加完索引以后用了0.004,快了两千多倍,其中加索引的速度用了2分40秒,索引占了200多兆的空间,由此可以看出,加索引的好处,当然,索引不能烂加,因为在做修改时,在速率上会慢,因为他要先解开索引,在修改,在加上索引,比较麻烦,索引我们只需在常查询的字段上加索引就能达到优化的效果了。

        至于常听人说的查询int类型比string类型快,以及查询字符串长的比短的慢,这些都是不可取的,我知道并测试通过的只是查询字段的多少会影响到查询效率,跟字段类型无关。
2、sql语句的优化
  • 当我们要查询的表过多时,sql语句会大大影响到我们的效率,那么这个时候我们可以通过oracle的with查询语句去优化我们的sql语句,当我们使用with查询多张表时,当sql语句第一次查到a表时,他会把a表放在with特有的高速缓冲区中,当后面的查询再用到这个表时,他会直接从这个里面将表取出来,达到你想要的效果,不需要在进行查询,从而大大加快了sql语句查询的效率。
  • 能用>=或者<=的地方就尽量不要使用 ><,能带=的就尽量带上=号,效率高
3、分库分表
  • 分库:简单点就是说将一张数据库分成多张数据库,这样可以减轻数据库的压力。也可以加快我们对数据库的操作。

    比如:

  1. 我们在做订单的模块的时候,我们会在每一年的结束的时候来进行分库,2015年的放在一个库中,2016年的放在一个库中。
  2. 当商品过多时,极差比较大的就可以放在两个库中,如汽车类和衣服类。
  • 分表:分表分为纵向分和横向分,他也是为了方便我们对数据库的操作,就像京东商城(名字改成自己做的电商项目)的三级标签式导航栏一样,它是由一级大分类,二级分类,三级分类组成,这这三次分类中,每一级都有不同的许多项,我们可以把这个一二三级当成纵向的分表,而每一级的那么多项,就如横向的分表,这样分表的效果,不仅大大加快了效率,还可以方便我们管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值