MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
013231
V2EX  ›  MySQL

爲包含1.5 * 10**8條記錄的表設置主鍵, 大約需要多長時間?

  •  
  •   013231 · Apr 23, 2012 · 3429 views
    This topic created in 5135 days ago, the information mentioned may be changed or developed.
    一張表, 只有一列, bigint型, 包含一億五千萬條記錄. 插入數據時爲保證插入速度, 沒有設置索引.
    插入完成後, 我使用
    ALTER TABLE hashes MODIFY hash BIGINT PRIMARY KEY;
    將此列設置爲主鍵. 可是已經30+小時了, 此命令仍未完成.
    機器是Linode 512, 完成此命令大約需要多長時間?
    5 replies    1970-01-01 08:00:00 +08:00
    napoleonu
        1
    napoleonu  
       Apr 24, 2012
    看机器性能,你可以找个性能好的机器加好再传上去,特别是IO性能好。 Linode 512 有的玩了。
    road2stat
        2
    road2stat  
       Apr 24, 2012
    KDD Cup 2012 track2?
    013231
        3
    013231  
    OP
       Apr 25, 2012
    @napoleonu 在我的Mac mini上進行(2.4G Core2 Duo, 8 GB 1067 MHz DDR3, 320 GB SATA Disk), 1小時43分就完成了. 不知爲何Linode 512上如此的慢.
    @road2stat 不是.
    Livid
        4
    Livid  
    MOD
    PRO
       Apr 25, 2012
    (8 * (1.5 * 10000 * 10000) ) / (1024*1024) = 1144.4091

    这张表不可能在 512MB 的机器上不吃交换运行的(你可以用 iostat 看一下),1.5 亿个 bigint 在内存里至少有 1.1G。
    013231
        5
    013231  
    OP
       Apr 25, 2012
    @Livid 這我知道, 可是沒想到如此的慢(40+小時還沒完成, 然後被我終止了).
    對了, 我在兩臺機器上使用的語句不同:
    Linode上是:
    ALTER TABLE hashes MODIFY hash BIGINT PRIMARY KEY;
    Mac mini上是:
    ALTER TABLE hashes ADD PRIMARY KEY (hash);
    這兩種語句的效率相同嗎?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5718 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 07:07 · PVG 15:07 · LAX 00:07 · JFK 03:07
    ♥ Do have faith in what you're doing.