zoukankan      html  css  js  c++  java
  • MySql

    索引失效场景

    1、当使用or来组合多个查询条件的情况下,如果不是每一列的条件都有索引,索引整体表现失效;
    2、当使用多列索引的时候,如果没有匹配到第一部分,索引失效;
    3、当使用like的时候,以%开头,等价于全表扫描,此时索引失效; 
    4、当数据类型是字符串类型的时候,如果条件数据不是字符串类型,此时索引失效;

    数据库性能优化点

    1.合理的设计索引,避免查询无法命中索引导致全表扫描;

    2.针对批量查询,使用贪婪模式,一次性读取一批数据,避免循环的多次读取(一般大于10条记录就应该如此);

    3.合理评估负载容量,数据库连接池的连接数合理设置,避免阻塞在请求db链接上;

    4.针对准静态数据设计逐级缓存,逐渐降低对db的依赖;

    行锁

    Select…For Update语句的语法与select语句相同,只是在select语句的后面加FOR UPDATE [NOWAIT]子句。

    该语句用来锁定特定的行(如果有where子句,就是满足where条件的那些行)。当这些行被锁定后,其他会话可以选择这些行,但不能更改或删除这些行,直到该语句的事务被commit语句或rollback语句结束为止。

  • 相关阅读:
    Thread--使用condition实现顺序执行
    Thread--condition
    Thread--lock,lockInterruptibly,tryLock,tryLock(long timeout, TimeUnit unit)
    Thread--线程间通信--管道
    Thread--生产者消费者假死分析
    Thread--生产者消费者
    Java--定时
    Thread--两线程交替打印
    重装系统都杀不掉的十大病毒
    常用工具
  • 原文地址:https://www.cnblogs.com/asfeixue/p/7859795.html
Copyright © 2011-2022 走看看