Saya memiliki dua tabel dengan struktur yang sama, A dan B. Aplikasi tertentu ditulis sehingga selalu menulis data yang sama untuk kedua tabel.
Setelah berdiskusi dengan seorang kolega tentang potensi untuk menghemat ruang drive, saya bertanya-tanya apakah mysql atau postgresql memiliki kemampuan untuk membuat di atas meja sebagai "alias", atau "symlink", dari yang lain.
Saya ingin perilaku sangat mirip dengan symlink file lunak; di mana membaca dari symlink itu sendiri atau targetnya akan menghasilkan output yang sama, dan menulis ke salah satu akan memperbarui target.
mysql
postgresql
pengguna50849
sumber
sumber
Jawaban:
Sejauh yang saya tahu, Postgresql baru memungkinkan Anda memiliki
INSTEAD OF
pemicu pada tampilan. Jadi memiliki satu meja, satu tampilan sebagaiSELECT * FROM table1
, danINSTEAD OF
pemicuinsert, update, delete
harus bekerja untuk Anda. Pendekatan ini tidak akan bekerja di Mysqlsumber
Dimungkinkan di MySQL (hanya menggunakan mesin penyimpanan MyISAM) untuk membuat tabel dari awal menggunakan symlink. Itu ada di Linux dan Windows (menggunakan hardlink):
Inilah posting saya yang lalu tentang hal ini
Namun, apa yang Anda usulkan harus dilakukan di luar MySQL di Linux.
Untuk contoh ini
LANGKAH 01) Buat tabel1
LANGKAH 02) Buat tiga symlink untuk meniru TableB
LANGKAH 03) Coba masukkan ke table1 dan baca dari table2. Kemudian coba sebaliknya.
Jika semuanya berperilaku normal, maka ini adalah bagaimana Anda dapat melakukan ini.
CAVEAT
sumber