抓取 MySQL Table 的 auto_increment 最大值

MySQL 使用 InnoDB 要做 SELECT COUNT(*) 會非常慢, 若是此 Table 符合下述狀況

  1. 很少刪除 (或知道大概會刪多少資料)
  2. 只需知道大概筆數
  3. 有設定 auto_increment

就可以考慮直接抓取 auto_increment 的值來當參考.

抓取 MySQL Table auto_increment 的最大值

直接由 information_schema 找 MySQL Table auto_increment 的最大值, 有下述兩種情況:

  1. 此 Table name 於整個 MySQL DB 中是唯一的:
    • SELECT TABLE_ROWS FROM information_schema.tables WHERE table_name='YOUR_TABLE_NAME';
  2. 此 Table name 於整個 MySQL DB 中有多個, 需要指定 DB Name:
    1. SELECT TABLE_ROWS FROM information_schema.tables WHERE table_name='YOUR_TABLE_NAME' AND table_schema = 'YOUR_DB_NAME';
    2. 或下述:
      1. use YOUR_DB_NAME; // 抓取自己現在的 Database name 可用: SELECT DATABASE();
      2. SELECT TABLE_ROWS FROM information_schema.tables WHERE table_name='YOUR_TABLE_NAME' AND table_schema = DATABASE();

相關網頁

  • Get Auto Increment value with MySQL query

The post 抓取 MySQL Table 的 auto_increment 最大值 appeared first on Tsung's Blog.

你可能感兴趣的:(mysql,auto_increment,My_Note-Unix)