知识点十五:MySQL 的应用程序优化(32)

  一、访问数据库采用连接池

      把连接当做对象或设备,统一放在‘连接池’里。凡是需要访问数据库的地方都从连接池里取连接

  二、采用缓存减少对于MySQL的访问:

          SHOW VARIBALES LIKE '变量名';

      1.避免对同一数据做重复检索

        have_query_cache:表明服务器在安装时是否已经配置了高速缓存
        query_cache_size:表明缓存区大小
        query_cache_type:0/off = 缓存关闭,1/on = 缓存打开(使用sql_no_cache的select除外),2/demand(只有带sql_cache的select语句提供高速缓存

      2.使用查询缓存

      3.C存参数的配置

        query_cache_type:是否打开
          OFF:关闭;ON:总是打开;DEMAND:只有明确了SQL_CHCHE的查询才会吸入缓存
        query_cache_size:缓存使用的总是内存的大小,单位是字节,这个值必须是1024的整数倍,否则MySQL实际分配可能跟这个值不同(感觉这个应该跟文件系统的BLOCK大小有关)
        query_cache_min_res_unit:分配内存块时的最小单位大小
        query_cache_limit:MySQL能够缓存的最大结果,如果超出,则增加Qcache_not_cached的值,并删除查询结果
        query_cache_wlock_invalidata:如果某个数据表被锁住,是否仍然从缓存中返回数据,默认OFF,表示仍然可以返回。

          show variables like '%query_cache%';  

      4.使用show status命令,监视查询缓存使用:

        qcache_queries_in_cache:在缓存中已注册的查询数目
        qcache_inserts:被加入到缓存中的查询数目
        qcache_his:缓存采样数目
        qcache_lowmem_prunes:因为缺少内存而被从缓存中删除的查询数目 
        qcache_not_cached:没有被缓存的查询数目 
        qcache_free_memory:查询缓存的空间内存总数
        qcache_free_blocks:查询缓存的空闲内存块数目 
        qcache_total_blocks:查询缓存的块的总数目

  三、使用负载均衡:

      一个主MySQL服务器(Master)于多个从属性MySQL服务器(Slave)建立复制(replication)连接,主服务器与从服务器实现一定程度上的数据同步,多个从属服务器存储相同的数据副本,实现
        数据冗余,提供容错功能。部署开发应用系统时,对数据库操作代码进行优化,将写入操作(如UPDATE、INSERT)定向到主服务器,把大量的查询操作(SELECT)定向到从属服务器,实现
        集群的负载均衡功能。

      如果服务器发生故障,从属服务器将转换角色成为主服务器,使应用系统为终端用户提供不间断的网络服务,主服务器恢复运行后,将其转换成从属服务器,存储数据库副本,继续对终端
        用户提供数据查询检索服务。

MYSQL进阶学习笔记十四:MySQL 应用程序优化!(视频序号:进阶_32)的更多相关文章

  1. MySQL高级学习笔记(四):索引优化分析

    文章目录 性能下降 SQL慢 执行时间长 等待时间长 查询语句写的烂 查询数据过多 关联了太多的表,太多join 没有利用到索引 单值 复合 服务器调优及各个参数设置(缓冲.线程数等)(不重要DBA的 ...

  2. MYSQL进阶学习笔记十:MySQL慢查询!(视频序号:进阶_23-24)

    知识点十一:MySQL 慢查询的应用(23) 一.慢查询定义 MySQL记录下查询超过指定时间的语句,我们将超过指定时间的SQL语句查询称为慢查询. 查看时间限制 show variables lik ...

  3. MYSQL初级学习笔记五:连接查询!(视频序号:初级_37-41)

    知识点七:连接查询(37-41) 什么是连接查询: 连接查询是将两个或两个以上的表按某个条件连接起来,从中选取需要的数据.连接查询是同时查询两个或两个以上的表时使用的.当不同的表中存在相同意义的字段时 ...

  4. Oracle学习笔记十四 内置程序包

    扩展数据库的功能 为 PL/SQL 提供对 SQL 功能的访问 用户 SYS 拥有所有程序包 是公有同义词 可以由任何用户访问 一些内置程序包 程序包名称 说明 STANDARD和DBMS_STAND ...

  5. MYSQL初级学习笔记六:子查询!(视频序号:初级_42 | 43)

    知识点八:子查询(42) 什么是子查询: 子查询是将一个查询语句嵌套在另一个查询语句中.内层查询语句的查询结果,可以作为外层查询语句提供条件. 引发子查询的情况: 使用[NOT] IN 的子查询 -- ...

  6. python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例

    python3.4学习笔记(十四) 网络爬虫实例代码,抓取新浪爱彩双色球开奖数据实例 新浪爱彩双色球开奖数据URL:http://zst.aicai.com/ssq/openInfo/ 最终输出结果格 ...

  7. MYSQL进阶学习笔记十三:MySQL 内存优化!(视频序号:进阶_31)

    知识点十四:MySQL 内存的优化(31) 一.优化MySQL SERVER 7组后台进程: masterthread:主要负责将脏缓存页刷新到数据文件,执行purge操作,触发检查点,合并插入缓冲区 ...

  8. MYSQL进阶学习笔记九:MySQL事务的应用!(视频序号:进阶_21-22)

    知识点十:MySQL 事务的应用 (21-22) 为什么要引入事务: 为什么要引入事务这个技术呢?现在的很多软件都是多用户,多程序,多线程的.对同一表可能同时有很多人在用,为保持数据的一致性,所以提出 ...

  9. MYSQL进阶学习笔记八:MySQL MyISAM的表锁!(视频序号:进阶_18-20)

    知识点九:MySQL MyISAM表锁(共享读锁)(18) 为什么会有锁: 打个比方,我们到淘宝买一件商品,商品只有一件库存,这时候如果还有另外一个人也在买,那么如何解决是你买到还是另一个人买到的问题 ...

随机推荐

  1. 如何在Android应用中引入外部网页

    在某些情况下,我们需要在Android应用中引入外部网页,这里记录一下如何操作(其实很简单^.^). 先介绍一下开发环境: 开发工具:Android Studio 1.5 SDK API版本:17 操 ...

  2. Scala 深入浅出实战经典 第40讲:Set、Map、TreeSet、TreeMap操作代码实战

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  3. Nginx、SSL双向认证、PHP、SOAP、Webservice、https

    本文是1:1模式,N:1模式请参见新的一篇博客<SSL双向认证(高清版)> ----------------------------------------------------- 我是 ...

  4. AFNetworking 官方文档

    AFNetworking Version Minimum iOS Target Minimum OS X Target Notes 2.x iOS 6 OS X 10.8 Xcode 5 is req ...

  5. RabbitMQ日志无法禁用问题

    最近使用spring+rabbitmq发现其Debug日志非常多,几天就把服务器磁盘弄爆了. 原来rabbitmq依赖logback.xml输出日志. 在和log4j.properties同目录下加一 ...

  6. bzoj2369

    题解: 显然把每一个环求出来 然后做一个lcm即可 代码: #include<cstdio> using namespace std; ],f[],n; int gcd(int x,int ...

  7. 聚类K-Means

    import numpy as np x=np.random.randint(0,52,52) x k=3 y=np.zeros(20) y array([ 0., 0., 0., 0., 0., 0 ...

  8. PHP Fatal error: SOAP-ERROR: Parsing WSDL: Couldn&#39;t load from &#39;http://xxxx.wsdl&#39;

    libxml_disable_entity_loader(false); $client = new \SoapClient($wsdl); 完美解决办法加上 php的soap扩展是否安装  open ...

  9. &gt;&gt;&gt;&gt;&gt;&gt;&gt;&gt; [ovs][libvirt] virt-xml ovs-vsctl

    查看可用的参数: [root@vrouter1 tong]# virt-xml --add-device --network=? |grep source source source_mode sou ...

  10. 解决 java循环中使用 Map时 在put值时value值被覆盖的问题

    其实很简单,只需要把容器换成list 然后在循环中,每次循环末尾map = new HashMap() 或者直接在循环中一开始就实例化hashmap(Map map = new HashMap();) ...