<form id="hz9zz"></form>
  • <form id="hz9zz"></form>

      <nobr id="hz9zz"></nobr>

      <form id="hz9zz"></form>

    1. 明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

      MySQl在開發與生產不同環境下的索引比較

      [摘要]--1.創建索引信息表create table `t_index_update` ( `table_name` varchar(20) COLLATE gbk_bin DEFAULT NULL, ...
      --1.創建索引信息表
      create table `t_index_update` (
      `table_name` varchar(20) COLLATE gbk_bin DEFAULT NULL,
      `index_name` varchar(20) COLLATE gbk_bin DEFAULT NULL,
      `index_cols` varchar(100) COLLATE gbk_bin DEFAULT NULL
      ) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE=gbk_bin;
      --2.插入線下索引信息表
      insert into t_index_update()
      select
      table_name,
      index_name,
      group_concat(distinct concat('`', column_name, '`') order by seq_in_index asc separator ', ') as index_cols
      from information_schema.STATISTICS
      where table_schema= 'elk'
      and column_name<>'seq_id'
      and index_name<>'primary'
      group by table_name, index_name
      order by table_name asc, index_name asc;
      --3.同步線下索引信息表到線上
      --4.構建刪除和修改過的索引的刪除語句
      select concat('alter table `',a.table_name,'` drop index ',a.index_name,';')
      from
      (
      select
      table_name,
      index_name,
      group_concat(distinct concat('`', column_name, '`') order by seq_in_index asc separator ', ') as index_cols
      from information_schema.STATISTICS
      where table_schema= 'elk'
      and column_name<>'seq_id'
      and index_name<>'primary'
      group by table_name, index_name
      ) a
      left join t_index_update b on b.table_name and b.index_name=a.index_name and b.index_cols=a.index_cols
      where b.index_name is null;
      --5.構建新加索引的的新加語句
      select concat('alter table `',a.table_name,'` add index ',a.index_name,'(',a.index_cols,');')
      from t_index_update a
      left join (
      select
      table_name,
      index_name,
      group_concat(distinct concat('`', column_name, '`') order by seq_in_index asc separator ', ') as index_cols
      from information_schema.STATISTICS
      where table_schema= 'elk'
      and column_name<>'seq_id'
      and index_name<>'primary'
      group by table_name, index_name
      ) b on b.table_name and b.index_name=a.index_name and b.index_cols=a.index_cols
      where b.index_name is null;

      以上就是MySQl在開發和生產不同環境下的索引對比的詳細內容,更多請關注php中文網其它相關文章!


      學習教程快速掌握從入門到精通的SQL知識。




      日韩精品一区二区三区高清