Apakah transaksi dan prosedur tersimpan dalam mysql

青灯夜游
Lepaskan: 2022-06-20 11:02:59
asal
2585 orang telah melayarinya

Dalam MySQL, urus niaga ialah jujukan operasi data yang ditentukan pengguna, termasuk satu set perintah operasi pangkalan data yang menyerahkan atau membatalkan permintaan operasi kepada sistem secara keseluruhan, iaitu set pangkalan data ini Sama ada; semua arahan dilaksanakan atau tiada yang dilaksanakan, jadi transaksi ialah unit kerja logik yang tidak boleh dibahagikan. Prosedur tersimpan ialah satu set pernyataan SQL yang direka untuk mencapai fungsi tertentu prosedur tersimpan ialah fungsi boleh atur cara yang dicipta dan disimpan dalam pangkalan data dan secara amnya terdiri daripada pernyataan SQL dan beberapa struktur kawalan khas.

Apakah transaksi dan prosedur tersimpan dalam mysql

Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.

Transaksi dalam mysql

Transaksi pangkalan data (Transaksi) ialah mekanisme dan urutan operasi data yang ditentukan pengguna, termasuk Satu set pangkalan data arahan operasi. Transaksi menyerahkan atau membatalkan permintaan operasi kepada sistem bersama-sama dengan semua arahan secara keseluruhan, iaitu, kumpulan arahan pangkalan data ini sama ada dilaksanakan atau tidak dilaksanakan, jadi urus niaga adalah unit kerja logik yang tidak boleh dibahagikan.

Apabila melakukan operasi serentak pada sistem pangkalan data, urus niaga digunakan sebagai unit kawalan terkecil, yang amat sesuai untuk sistem pangkalan data yang dikendalikan oleh berbilang pengguna pada masa yang sama. Contohnya, sistem tempahan syarikat penerbangan, bank, syarikat insurans dan sistem perdagangan sekuriti.

Transaksi MySQL digunakan terutamanya untuk memproses data dengan operasi yang besar dan kerumitan yang tinggi. Sebagai contoh, dalam sistem pengurusan kakitangan, jika anda memadamkan seseorang, anda perlu memadam bukan sahaja maklumat asas orang itu, tetapi juga maklumat yang berkaitan dengan orang itu, seperti peti mel, artikel, dll. Dengan cara ini, ini penyata operasi pangkalan data membentuk transaksi !

  • Dalam MySQL, hanya pangkalan data atau jadual yang menggunakan enjin pangkalan data Innodb menyokong transaksi.

  • Pemprosesan transaksi boleh digunakan untuk mengekalkan integriti pangkalan data dan memastikan kumpulan pernyataan SQL sama ada semuanya dilaksanakan atau tidak dilaksanakan sama sekali.

  • Urus niaga digunakan untuk mengurus sisipan, kemas kini, memadam penyata

Secara umumnya, urus niaga mesti memenuhi 4 syarat (ACID): Atomicity (juga dipanggil tidak boleh dibahagikan), konsistensi (Konsistensi), pengasingan (juga dipanggil kemerdekaan), dan ketahanan (Durability).

  • Atomicity: Semua operasi dalam transaksi sama ada akan selesai atau tidak selesai, dan tidak akan berakhir pada mana-mana peringkat pertengahan. Jika ralat berlaku semasa pelaksanaan urus niaga, ia akan digulung semula ke keadaan sebelum urus niaga bermula, seolah-olah urus niaga itu tidak pernah dilaksanakan.

  • Ketekalan: Integriti pangkalan data tidak terjejas sebelum urus niaga bermula dan selepas urus niaga tamat. Ini bermakna bahawa data yang ditulis mesti mematuhi sepenuhnya semua peraturan pratetap, termasuk ketepatan dan penyatuan data, dan pangkalan data seterusnya boleh menyelesaikan kerja yang telah ditetapkan secara spontan.

  • Pengasingan: Pangkalan data membenarkan berbilang urus niaga serentak untuk membaca, menulis dan mengubah suai datanya pada masa yang sama Pengasingan boleh mengelakkan rasuah data akibat pelaksanaan silang apabila berbilang transaksi dilaksanakan secara tidak konsisten . Pengasingan urus niaga dibahagikan kepada tahap yang berbeza, termasuk baca tanpa komitmen, baca komited, baca berulang dan boleh bersiri.

  • Kegigihan: Selepas transaksi selesai, pengubahsuaian data adalah kekal dan tidak akan hilang walaupun sistem gagal.

Prosedur tersimpan dalam mysql

Prosedur tersimpan ialah satu set prosedur tersimpan dalam direktori pangkalan data untuk melengkapkan fungsi tertentu Koleksi pernyataan SQL. Tujuan menggunakan prosedur tersimpan adalah untuk pra-menulis kerja biasa atau kompleks dengan pernyataan SQL dan menyimpannya dengan nama tertentu Prosedur ini disusun dan dioptimumkan dan disimpan dalam pelayan pangkalan data, jadi ia dipanggil prosedur tersimpan. Apabila anda memerlukan pangkalan data untuk menyediakan perkhidmatan yang sama seperti prosedur tersimpan yang ditentukan pada masa hadapan, anda hanya perlu memanggil "CALL nama prosedur yang disimpan" untuk melengkapkannya secara automatik.

Pernyataan SQL yang biasa digunakan untuk mengendalikan pangkalan data perlu disusun dahulu dan kemudian dilaksanakan. Prosedur tersimpan mengambil pendekatan lain untuk melaksanakan pernyataan SQL.

Prosedur tersimpan ialah fungsi boleh atur cara yang dicipta dan disimpan dalam pangkalan data Ia biasanya terdiri daripada pernyataan SQL dan beberapa struktur kawalan khas. Prosedur tersimpan amat sesuai apabila anda ingin melaksanakan fungsi khusus yang sama pada aplikasi atau platform yang berbeza.

MySQL versi 5.0 tidak menyokong prosedur tersimpan sebelum ini, yang sangat mengurangkan penggunaan MySQL. MySQL telah menyokong prosedur tersimpan sejak versi 5.0, yang bukan sahaja meningkatkan kelajuan pemprosesan pangkalan data, tetapi juga meningkatkan fleksibiliti pengaturcaraan pangkalan data

Prosedur tersimpan adalah fungsi penting dalam pangkalan data boleh digunakan untuk menukar data, Ia serupa dengan bahasa pengaturcaraan untuk pemindahan data dan membuat laporan Setelah berjaya dilaksanakan, ia boleh dipanggil pada bila-bila masa untuk menyelesaikan operasi fungsi yang ditentukan.

Menggunakan prosedur tersimpan bukan sahaja boleh meningkatkan kecekapan capaian pangkalan data, tetapi juga meningkatkan keselamatan penggunaan pangkalan data.

Untuk pemanggil, prosedur tersimpan merangkum pernyataan SQL dan pemanggil tidak perlu mempertimbangkan proses pelaksanaan khusus fungsi logik. Hanya panggilan mudah, ia boleh dipanggil oleh pencetus, prosedur tersimpan lain, dan aplikasi seperti Java, Python, PHP, dll.

Kelebihan Prosedur Tersimpan MySQL

  • Prosedur yang biasanya disimpan membantu meningkatkan prestasi aplikasi. Setelah dibuat, prosedur tersimpan disusun dan disimpan dalam pangkalan data. Walau bagaimanapun, MySQL melaksanakan prosedur tersimpan sedikit berbeza. Prosedur tersimpan MySQL disusun atas permintaan. Selepas menyusun prosedur tersimpan, MySQL memasukkannya ke dalam cache dan mengekalkan cache prosedur tersimpannya sendiri untuk setiap sambungan. Jika aplikasi menggunakan prosedur tersimpan berbilang kali dalam satu sambungan, gunakan versi terkumpul, jika tidak, prosedur tersimpan berfungsi seperti pertanyaan.

  • Prosedur tersimpan membantu mengurangkan trafik antara aplikasi dan pelayan pangkalan data kerana aplikasi mesti menghantar hanya nama dan parameter prosedur tersimpan dan bukannya menghantar berbilang penyata SQL yang panjang.

  • Prosedur tersimpan boleh diguna semula dan telus untuk sebarang aplikasi. Prosedur tersimpan mendedahkan antara muka pangkalan data kepada semua aplikasi supaya pembangun tidak perlu membangunkan fungsi yang sudah disokong dalam prosedur tersimpan.

  • Prosedur tersimpan adalah selamat. Pentadbir pangkalan data boleh memberikan kebenaran yang sesuai kepada aplikasi yang mengakses prosedur tersimpan dalam pangkalan data tanpa memberikan sebarang kebenaran kepada jadual pangkalan data asas.

[Cadangan berkaitan: tutorial video mysql]

Atas ialah kandungan terperinci Apakah transaksi dan prosedur tersimpan dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!