Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara membuat MESIN MEMORI mysql menyimpan lebih banyak data?

Anda harus menyesuaikan cara Anda membuat dan memuat tabel

CREATE TABLE sns_memory SELECT * FROM sns WHERE 1=2;
ALTER TABLE sns_memory ENGINE=MEMORY;
INSERT INTO sns_memory SELECT * FROM sns;
DROP TABLE sns;
ALTER TABLE sns_memory RENAME sns;

Ini akan mengatasi batasan yang diberlakukan dengan tmp_table_size dan max_heap_table_size .

Sama saja, Anda perlu melakukan dua hal:

Tambahkan ini ke /etc/my.cnf

[mysqld]
tmp_table_size=2G
max_heap_table_size=2G

ini akan mencakup restart mysql. Untuk menetapkan nilai-nilai ini di mysqld sekarang tanpa memulai ulang, jalankan ini:

SET GLOBAL tmp_table_size = 1024 * 1024 * 1024 * 2;
SET GLOBAL max_heap_table_size = 1024 * 1024 * 1024 * 2;

Jika Anda memeriksa variabel di atas dengan

SELECT @@max_heap_table_size;

atau

SHOW VARIABLES LIKE 'max_heap_table_size';

Anda mungkin memperhatikan bahwa mereka tampaknya tidak berubah mengikuti SET GLOBAL... pernyataan. Ini karena pengaturan hanya berlaku untuk koneksi baru ke server. Buat koneksi baru, dan Anda akan melihat pembaruan nilai atau Anda dapat mengubahnya dalam sesi Anda dengan menjalankan:

SET tmp_table_size = 1024 * 1024 * 1024 * 2;
SET max_heap_table_size = 1024 * 1024 * 1024 * 2;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python:Ubah Tuple menjadi String yang dipisahkan koma

  2. innodb_lock_wait_timeout menambah batas waktu

  3. GALAT 1049 (42000):Basis data tidak dikenal 'mydatabasename'

  4. Bagaimana menggabungkan GROUP BY, ORDER BY dan HAVING

  5. Cara Memeriksa Ukuran Database MySQL di Linux