日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

MySQL定期自動(dòng)刪除表_MySQL教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:MySQL中的CONCAT函數(shù)使用教程
這篇文章主要介紹了MySQL中的CONCAT函數(shù)使用教程,是Python入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下 使用MySQL CONCAT()函數(shù)將兩個(gè)字符串連接起來,形成一個(gè)單一的字符串。試試下面的例子: ? 了解CONCAT函數(shù)更詳細(xì),考慮EMPLOYEE_TBL表具有以下記錄: ? 可以用以下

   單位8億多條的日志表,經(jīng)過自動(dòng)分表之后,需要自動(dòng)刪除30天前創(chuàng)建的日志表。

  但是只是在Master下線這些日志表,而Slave還需要保持在線,以備查詢。

  由于Master-Slave結(jié)構(gòu),在Drop表之前,設(shè)置@@session.sql_log_bin=0,那么Drop的行為就沒有記錄到binlog,所以Slave的日志表就會(huì)被保留。

  模擬環(huán)境如下,

  mysql> show tables;

  +---------------------------------+

  | Tables_in_edmond |

  +---------------------------------+

  | sod_song_log_2014_1_22_13_18_20 |

  | sod_song_log_2014_2_22_13_18_20 |

  | sod_song_log_2014_3_22_13_18_20 |

  | sod_song_log_2014_4_22_13_18_20 |

  +---------------------------------+

  4 rows in set (0.00 sec)

  過程如下:

  delimiter $$

  CREATE procedure drop_table()

  BEGIN

  declare t_name varchar(64);

  declare isFinished int default false;

  declare log_table_list cursor for (select table_name from information_schema.tables where table_schema = 'EDMOND' and table_name like 'sod_song_log_%');

  declare continue handler for not found set isFinished=true;

  open log_table_list;

  repeat

  fetch log_table_list into t_name;

  if isFinished = false then

  if datediff(now(),replace(t_name,'sod_song_log_',''))>30 then

  set @@session.sql_log_bin=0;

  set @sqltext=concat('drop table ',t_name,';');

  PREPARE c_tab_stat from @sqltext;

  execute c_tab_stat;

  set @@session.sql_log_bin=1;

  end if;

  end if;

  until isFinished

  end repeat;

  close log_table_list;

  END $$

  delimiter ;

  執(zhí)行過程,結(jié)果如下

  mysql> call drop_table();

  Query OK, 0 rows affected (0.28 sec)

  mysql> show tables;

  +---------------------------------+

  | Tables_in_edmond |

  +---------------------------------+

  | sod_song_log_2014_4_22_13_18_20 |

  +---------------------------------+

  1 row in set (0.00 sec)

  mysql> select now() from dual;

  +---------------------+

  | now() |

  +---------------------+

  | 2014-04-22 17:58:24 |

  +---------------------+

  1 row in set (0.00 sec)

  并且binlog中沒有記錄這個(gè)Drop的行為。

  配合Linux crontab即可實(shí)現(xiàn)定期自動(dòng)刪除表的功能。

  一定不要把sql_log_bin設(shè)置為global級(jí)別,不能犯迷糊

分享:MySQL中的RAND()函數(shù)使用詳解
這篇文章主要介紹了MySQL中的RAND()函數(shù)使用詳解,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下 MySQL RAND()函數(shù)調(diào)用可以在0和1之間產(chǎn)生一個(gè)隨機(jī)數(shù): ? 當(dāng)調(diào)用一個(gè)整數(shù)參數(shù)時(shí),RAND()使用該隨機(jī)數(shù)發(fā)生器種子值。每次在給定值種子生成,RAND()會(huì)產(chǎn)生一個(gè)可重復(fù)的

來源:模板無憂//所屬分類:MySQL教程/更新時(shí)間:2015-05-28
相關(guān)MySQL教程