こんにちは、yoku0825といいます。
だいたいざっくり言うと、1) に近いです。
ただし、ibdata1に空きスペースがあった場合はその空きスペースを使います。
もし、ibdata1に500MBの空き容量が存在すれば、
空き容量 + 新規600MBを使ってibdata1の増加は600MB、その後ibdata1の中に空き容量が1GB発生します。
空き容量が全くなければibdata1は1.1GB増えて、その後空き容量が1GB発生します。
ibdata1の空き容量はSHOW TABLE STATUSでなんとなく照会できます。
mysql51> SHOW TABLE STATUS LIKE 't1'\G
*************************** 1. row ***************************
     Name: t1
    Engine: InnoDB
    Version: 10
  Row_format: Compact
     Rows: 5000220
Avg_row_length: 67
  Data_length: 338542592
Max_data_length: 0
 Index_length: 83492864
   Data_free: 236978176        -- ココ
Auto_increment: NULL
  Create_time: 2014-09-16 11:53:01
  Update_time: NULL
  Check_time: NULL
   Collation: utf8_general_ci
   Checksum: NULL
Create_options:
    Comment:
1 row in set (0.01 sec)
yoku0825,