Tôi đang chèn vào một bảng nhỏ đơn giản với 5 thuộc tính và 1000 hàng.
Tôi quan sát thấy khi động cơ là INNODB, mỗi lần chèn mất 0,03 - 0,05 giây. Tôi đã thay đổi động cơ thành MYISAM, sau đó chèn nhanh hơn. nó đang lấy 0,001 - 0,003.
Vấn đề là gì innodb_flush_log_trx_commit = 1 theo mặc định. Tôi đã được thiết lập như nó là. Đây là thiết lập innodb của tôi.
innodb_log_buffer_size : 1MB
innodb_log_file_size : 5MB
innodb_buffer_pool_size: 8MB
innodb_flush_log_trx_commit = 1
mysql> desc table ;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(10) | YES | | NULL | |
| count | int(10) | YES | | NULL | |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.00 sec)
BIẾN
mysql> show variables like 'innodb%' ;
+-----------------------------------------+------------------------+
| Variable_name | Value |
+-----------------------------------------+------------------------+
| innodb_adaptive_hash_index | ON |
| innodb_additional_mem_pool_size | 1048576 |
| innodb_autoextend_increment | 8 |
| innodb_autoinc_lock_mode | 1 |
| innodb_buffer_pool_size | 8388608 |
| innodb_checksums | ON |
| innodb_commit_concurrency | 0 |
| innodb_concurrency_tickets | 500 |
| innodb_data_file_path | ibdata1:10M:autoextend |
| innodb_data_home_dir | |
| innodb_doublewrite | ON |
| innodb_fast_shutdown | 1 |
| innodb_file_io_threads | 4 |
| innodb_file_per_table | OFF |
| innodb_flush_log_at_trx_commit | 1 |
| innodb_flush_method | |
| innodb_force_recovery | 0 |
| innodb_lock_wait_timeout | 50 |
| innodb_locks_unsafe_for_binlog | OFF |
| innodb_log_buffer_size | 2097152 |
| innodb_log_file_size | 5242880 |
| innodb_log_files_in_group | 2 |
| innodb_log_group_home_dir | ./ |
| innodb_max_dirty_pages_pct | 90 |
| innodb_max_purge_lag | 0 |
| innodb_mirrored_log_groups | 1 |
| innodb_open_files | 300 |
| innodb_rollback_on_timeout | OFF |
| innodb_stats_method | nulls_equal |
| innodb_stats_on_metadata | ON |
| innodb_support_xa | ON |
| innodb_sync_spin_loops | 20 |
| innodb_table_locks | ON |
| innodb_thread_concurrency | 8 |
| innodb_thread_sleep_delay | 10000 |
| innodb_use_legacy_cardinality_algorithm | ON |
+ ----------------------------------------- + ------- ----------------- + 36 hàng trong bộ (0,00 giây)
Tôi không thể tìm ra điều gì đã xảy ra với điều này. Cảm ơn trước. Trân trọng, UDAY
innodb_buffer_pool_size
. 8MB là quá thấp. Nó thực sự phụ thuộc vào tổng RAM máy chủ của bạn và những dịch vụ / ứng dụng nào bạn chạy trên máy chủ nhưng bạn có thể đặt nó ở nhiều GB, nếu tổng bộ nhớ của bạn đủ cao.
innodn_xxx
cài đặt của máy chủ MySQL của bạn không?