九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
MySQL5.5 自動分區(qū)腳本

一、使用說明:

1.此腳本為分區(qū)后,定時自動增加分區(qū).(被自動分區(qū)的表,一定要先手動分幾個區(qū))

2.每隔15天,定時器會執(zhí)行一個存儲過程,對分區(qū)日期最后的那天再往后新增15個分區(qū).

3.Script里面Auto_partitions.sql 為存儲過程

4.Script里面Timer_event.sql 為定時事件腳本

5.MySQL5.5默認并沒有開啟EVENT機制,需要在my.cnf文件中添加[mysqld] event_scheduler= ON

7.增加打開文件上線.這個很重要.open_files_limit = 5000

二、分區(qū)腳本

  1. DELIMITER ||  
  2. DROP PROCEDURE IF EXISTS create_Partition ||  
  3. CREATE PROCEDURE create_Partition (IN databaseName VARCHAR(50),IN tableName VARCHAR(50))  
  4. L_END:BEGIN       
  5.      DECLARE MAX_PARTITION_DESCRIPTION VARCHAR(255) DEFAULT 0;  
  6.      DECLARE P_NAME VARCHAR(255) DEFAULT 0;         
  7.      DECLARE P_DESCRIPTION VARCHAR(255) DEFAULT 0;     
  8.      DECLARE i INT DEFAULT 1;  
  9.      DECLARE ISEXIST_PARTITION VARCHAR(255) DEFAULT 0;   
  10.      SELECT PARTITION_NAME INTO ISEXIST_PARTITION FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = databaseName AND TABLE_NAME = tableName  LIMIT 1 ;  
  11.         
  12.      IF ISEXIST_PARTITION <=> "" THEN  
  13.        SELECT "Partition table not is exist" AS "*****ERROR*****";  
  14.        LEAVE  L_END;  
  15.      END IF;  
  16.    
  17.      SELECT partition_description INTO MAX_PARTITION_DESCRIPTION  FROM information_schema.PARTITIONS WHERE TABLE_SCHEMA = databaseName AND TABLE_NAME = tableName ORDER BY partition_description DESC LIMIT 1;  
  18.          
  19.          
  20.      IF MAX_PARTITION_DESCRIPTION <=> "" THEN  
  21.        SELECT "Partition table is error" AS "*****ERROR*****";  
  22.        LEAVE  L_END;  
  23.      END IF;  
  24.   
  25.         
  26.     SET MAX_PARTITION_DESCRIPTION = REPLACE(MAX_PARTITION_DESCRIPTION, '\'''');  
  27.     WHILE i <= 15 DO  
  28.            SET P_DESCRIPTION = adddate(MAX_PARTITION_DESCRIPTION, INTERVAL i day);  
  29.            SET P_NAME = REPLACE(P_DESCRIPTION, '-''');  
  30.            SET @S=CONCAT('ALTER TABLE ',tableName,' ADD PARTITION  (PARTITION p',P_NAME,' VALUES LESS THAN (\'',P_DESCRIPTION,'\'))');  
  31.            SELECT @S;  
  32.            PREPARE stmt2 FROM @S;  
  33.            EXECUTE stmt2;  
  34.            DEALLOCATE PREPARE stmt2;  
  35.            SET i = i + 1 ;  
  36.     END WHILE;            
  37. END L_END;||  
  38. DELIMITER ;  

# 其中傳入?yún)?shù)databaseName為數(shù)據(jù)庫名,參數(shù)tableName為表名.

三、添加事件處理  

  1. DELIMITER ||  
  2. CREATE EVENT auto_set_partitions  
  3.           ON SCHEDULE  
  4.           EVERY 15 DAY   
  5.           DO  
  6.       BEGIN  
  7.           CALL create_Partition('database_name','table_name');  
  8.          /* 如果需要向多個表分區(qū),可以寫多個 CALL 調(diào)用    
  9.           CALL create_Partition('database_name','table_name');  
  10.         */  
  11.  END ||  
  12. DELIMITER ;  

這個事件每隔15天執(zhí)行一次.

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
mysql分區(qū)功能詳細介紹,以及實例
oracle分區(qū)表學習小結
生產(chǎn)庫mysql大表分區(qū)方案
SQL
如何比較兩個數(shù)據(jù)表 | 酷殼 - CoolShell.cn
MySQL的經(jīng)典用法(五)----觸發(fā)器
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服