Terdapat perbezaan, iaitu: 1. MySQL menghantar transaksi secara automatik dan Oracle menyerahkannya secara manual 2. Pada peringkat pengasingan, MySQL "dibaca komited" dan Oracle adalah "dibaca berulang"; ringan , dan percuma, manakala Oracle bertugas berat dan mengenakan bayaran.
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
Perbezaan antara mysql dan oracle
(1) Penyerahan transaksi
SQL lalai Ia diserahkan secara automatik, dan Oracle tidak menyerahkan secara automatik secara lalai. Mereka perlu menulis perintah komit atau klik butang komit
(2) Pertanyaan halaman .
MySQL Ia adalah untuk menulis "pilih... dari ...di mana...had x, y" terus dalam pernyataan SQL Dengan had, paging boleh dicapai
, manakala Oracle perlu menggunakan lajur pseudo ROWNUM dan pertanyaan Set terbenam
(3) Tahap pengasingan transaksi
MySQL ialah tahap pengasingan yang dilakukan pembacaan, manakala Oracle ialah tahap pengasingan bacaan boleh berulang dan kedua-duanya menyokong rentetan boleh bersiri Tahap pengasingan transaksi berasaskan baris boleh mencapai tahap ketekalan bacaan tertinggi. Hanya selepas setiap sesi diserahkan, sesi lain boleh melihat perubahan yang diserahkan. Oracle mencapai ketekalan baca dengan membina blok data berbilang versi dalam ruang jadual asal Apabila menanyakan setiap sesi
, jika blok data yang sepadan berubah, Oracle akan membinanya dalam ruang jadual asal untuk sesi ini blok semasa pertanyaan
MySQL tidak mempunyai mekanisme yang serupa dengan Oracle untuk membina blok data berbilang versi, dan hanya menyokong tahap pengasingan komited baca. Apabila satu sesi membaca data, sesi lain tidak boleh menukar data, tetapi mereka boleh memasukkan data di hujung jadual. Apabila sesi mengemas kini data, kunci eksklusif mesti ditambah dan sesi lain tidak boleh mengakses data
(4) Sokongan untuk transaksiMySQL berada pada tahap baris daripada enjin storan innodb Urus niaga hanya boleh disokong dalam keadaan terkunci dan Oracle menyokong sepenuhnya transaksi
(5) Ketahanan menyimpan dataMySQL dikemas kini atau dimulakan semula apabila pangkalan data dikemas kini, kemudian Data akan hilang. Oracle menulis baris operasi SQL yang diserahkan ke dalam fail log dalam talian dan menyimpannya pada cakera Ia boleh dipulihkan pada bila-bila masa
(6) Concurrency.MySQL terutamanya menggunakan kunci peringkat jadual, dan butiran penguncian sumber adalah sangat besar Jika sesi mengunci jadual terlalu lama, sesi lain tidak akan dapat mengemas kini data dalam jadual ini.
Walaupun jadual enjin InnoDB boleh menggunakan kunci peringkat baris, mekanisme penguncian peringkat baris ini bergantung pada indeks jadual Jika jadual tidak mempunyai indeks, atau pernyataan SQL tidak menggunakan indeks, kunci aras meja masih digunakan.
Oracle menggunakan penguncian peringkat baris, dan butiran penguncian sumber jauh lebih kecil Ia hanya mengunci sumber yang diperlukan oleh SQL, dan penguncian adalah pada baris data dalam pangkalan data dan tidak bergantung pada indeks. Jadi sokongan Oracle untuk concurrency adalah lebih baik.
(7) Sandaran logik Data mesti dikunci semasa sandaran logik MySQL untuk memastikan data yang disandarkan adalah konsisten, yang menjejaskan penggunaan biasa dml dalam perniagaan. Sandaran logik Oracle tidak mengunci data, dan data sandaran adalah konsisten
MySQL: Konfigurasi pelayan replikasi adalah mudah, tetapi apabila terdapat masalah dengan pangkalan data utama, pangkalan data kluster mungkin kehilangan data jumlah tertentu. Dan anda perlu menukar perpustakaan plex secara manual ke perpustakaan utama.
Oracle: Terdapat kedua-dua tolak atau tarik replikasi data tradisional dan mekanisme pemulihan bencana dwi-mesin atau multi-mesin pengawal data Jika terdapat masalah dengan pangkalan data utama, pangkalan data siap sedia boleh ditukar kepada yang utama pangkalan data, tetapi pengurusan konfigurasi adalah lebih rumit.
(9) Diagnosis PrestasiMySQL mempunyai beberapa kaedah diagnostik dan penalaan, terutamanya log pertanyaan perlahan.
Oracle mempunyai pelbagai alat diagnosis dan penalaan prestasi matang, yang boleh merealisasikan banyak fungsi analisis dan diagnosis automatik. Seperti awr, addm, sqltrace, tkproof, dsb.
(10) Kebenaran dan keselamatanPengguna MySQL berkaitan dengan hos, yang dirasakan tidak bermakna, dan ia lebih mudah untuk dipalsukan Terdapat peluang untuk hos dan IP.
Kebenaran dan konsep keselamatan Oracle adalah agak tradisional dan agak memuaskan.
(11) Jadual pembahagian dan indeks pembahagianJadual pembahagian MySQL masih belum matang dan stabil.
Jadual partition dan fungsi indeks partition Oracle sangat matang dan boleh meningkatkan pengalaman pengguna mengakses db.
(12) Alat pengurusanTerdapat beberapa alatan pengurusan MySQL Pemasangan alatan pengurusan di bawah Linux kadangkala memerlukan pemasangan pakej tambahan (phpmyadmin, dll). Terdapat kerumitan tertentu.
Oracle mempunyai pelbagai baris arahan matang, antara muka grafik, alatan pengurusan web dan banyak alatan pengurusan pihak ketiga, menjadikan pengurusan sangat mudah dan cekap.
(13) Perbezaan paling pentingMySQL ialah pangkalan data yang ringan dan percuma, tanpa perkhidmatan untuk memulihkan data.
Oracle ialah pangkalan data tugas berat. Syarikat Oracle mempunyai sebarang perkhidmatan untuk pangkalan data Oracle.
[Cadangan berkaitan: tutorial video mysql]
Atas ialah kandungan terperinci Adakah terdapat perbezaan antara mysql dan oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!