こんにちは、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,