


Bagaimana untuk menggunakan penguncian pesimis dan penguncian optimistik dalam Mysql
1. Kunci
Dalam kehidupan: Kunci ada di mana-mana sahaja di sekeliling kita, contohnya, saya perlu mengunci pintu apabila saya keluar untuk bermain ia mesti dikunci untuk memastikan Keselamatan harta saya.
Dalam kod: Contohnya, jika berbilang benang perlu beroperasi dan mengubah suai pembolehubah dikongsi pada masa yang sama, anda perlu mengunci pembolehubah (disegerakkan) untuk memastikan nilai pembolehubah adalah betul.
Jadual pangkalan data: Apabila berbilang pengguna mengubah suai data yang sama dalam jadual, kami boleh mengunci baris data (kunci baris).
skrip sql
CREATE TABLE `sys_user` ( `id` bigint(20) NOT NULL COMMENT '主键ID', `name` varchar(30) DEFAULT NULL COMMENT '姓名', `age` int(11) DEFAULT NULL COMMENT '年龄', `email` varchar(50) DEFAULT NULL COMMENT '邮箱', `deleted` tinyint(1) DEFAULT NULL COMMENT '是否删除', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_id` bigint(20) DEFAULT NULL COMMENT '创建人', `update_id` bigint(20) DEFAULT NULL COMMENT '操作人', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `status` varchar(255) DEFAULT NULL COMMENT '状态', `dog` text DEFAULT NULL COMMENT '狗', `version` int(11) DEFAULT NULL COMMENT '版本号', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO `sys_user`(`id`, `name`, `age`, `email`, `deleted`, `create_time`, `create_id`, `update_id`, `update_time`, `status`, `dog`, `version`) VALUES (1, 'gukong', 19, 'test1@baomidou.com', 0, NULL, NULL, NULL, NULL, NULL, NULL, 0);
2. Kunci pesimis
Apabila kita ingin mengubah suai sekeping data dalam pangkalan data, untuk mengelakkan daripada diubah suai oleh orang lain pada masa yang sama , ia adalah yang terbaik untuk Penyelesaian adalah untuk terus mengunci data untuk mengelakkan konkurensi.
Sebab kunci pesimis dipanggil kunci pesimis adalah kerana ia menggunakan kaedah kawalan konkurensi pesimis, dengan mengandaikan bahawa data akan diubah suai oleh utas lain, jadi operasi mengunci akan dilakukan apabila data diubah suai. Kami secara amnya percaya bahawa kebarangkalian data diubah suai secara serentak adalah agak tinggi, jadi ia perlu dikunci sebelum pengubahsuaian.
Kunci baris, kunci meja, kunci baca, kunci tulis dan kunci yang dilaksanakan dengan disegerakkan dalam pangkalan data semuanya adalah kunci pesimis.
mysql menghidupkan penguncian pesimis, contoh pernyataan sql
--开启事务 BEGIN --对行加锁 SELECT * FROM `sys_user` where id = 1 for UPDATE --修改加锁行的数据 update sys_user set name = 'gukong',age = 18 where id = 1; --提交事务 commit;rrree
3. Sikap, semasa mengendalikan data, data yang dikendalikan tidak akan dikunci Hanya apabila data diserahkan, mekanisme akan digunakan untuk mengesahkan sama ada terdapat konflik dalam data.
Penguncian optimis biasanya dilaksanakan dengan menambahkan versi (versi) atau cap waktu (cap masa) pada jadual, antara versi yang paling biasa digunakan.
Setiap kali kunci optimistik melakukan operasi pengubahsuaian data, ia akan membawa nombor versi Setelah nombor versi konsisten dengan nombor versi data, operasi pengubahsuaian boleh dilakukan dan nombor versi akan menjadi +1 . Jika tidak, ia akan Perlaksanaan gagal.
Contoh kunci optimistik:
--开启事务 BEGIN --对行加锁 SELECT * FROM `sys_user` where id = 1 for UPDATE --修改加锁行的数据 update sys_user set name = 'kulilin',age = 20 where id = 1; --提交事务 commit; update sys_user set name = 'kulilin',age = 20 where id = 1;
4. Cara memilih
Kunci optimis sesuai untuk senario dengan lebih banyak membaca dan kurang menulis, dan boleh diabaikan Overhed mengunci dan melepaskan kunci yang kerap meningkatkan daya pemprosesan
Apabila operasi tulis yang kerap diperlukan, menggunakan kunci optimistik mungkin menjana banyak putaran, menggunakan CPU dan menjejaskan prestasi. Sebabnya ialah versi tidak konsisten dan percubaan semula diteruskan. Dalam kes ini, penguncian pesimis sesuai
Atas ialah kandungan terperinci Bagaimana untuk menggunakan penguncian pesimis dan penguncian optimistik dalam Mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Bagaimana untuk memantau prestasi MySQL dengan berkesan? Gunakan alat seperti mysqladmin, showglobalstatus, perconamonitoring dan pengurusan (PMM), dan mysql enterprisemonitor. 1. Gunakan mysqladmin untuk melihat bilangan sambungan. 2. Gunakan showglobalstatus untuk melihat nombor pertanyaan. 3.Pmm menyediakan data prestasi terperinci dan antara muka grafik. 4.MySqLenterPrisemonitor menyediakan fungsi pemantauan yang kaya dan mekanisme penggera.

Perbezaan antara MySQL dan SQLServer adalah: 1) MySQL adalah sumber terbuka dan sesuai untuk sistem web dan tertanam, 2) SQLServer adalah produk komersil Microsoft dan sesuai untuk aplikasi peringkat perusahaan. Terdapat perbezaan yang signifikan antara kedua -dua enjin penyimpanan, pengoptimuman prestasi dan senario aplikasi. Apabila memilih, anda perlu mempertimbangkan saiz projek dan skalabiliti masa depan.

Dalam senario aplikasi peringkat perusahaan yang memerlukan ketersediaan yang tinggi, keselamatan maju dan integrasi yang baik, SQLServer harus dipilih bukannya MySQL. 1) SQLServer menyediakan ciri peringkat perusahaan seperti ketersediaan tinggi dan keselamatan maju. 2) Ia bersepadu dengan ekosistem Microsoft seperti VisualStudio dan PowerBI. 3) SQLServer melakukan pengoptimuman prestasi yang sangat baik dan menyokong jadual yang dioptimumkan memori dan indeks penyimpanan lajur.

Mysqlmanagescharactersetsandcollationsbyusingutf-8asthedefault, membolehkanConfigurationatdatabase, table, andcolumnlevels, andrequiringcarefulalignmenttoavoidmismatches.1) setdefaultcharactandcollationforadatabase.2) configurecharact

Pencetus MySQL adalah prosedur yang disimpan secara automatik yang dikaitkan dengan jadual yang digunakan untuk melakukan satu siri operasi apabila operasi data tertentu dilakukan. 1) Definisi dan fungsi pencetus: Digunakan untuk pengesahan data, pembalakan, dan lain-lain. 2) Prinsip kerja: Ia dibahagikan kepada sebelum dan selepas, dan menyokong pencetus peringkat baris. 3) Contoh Penggunaan: Boleh digunakan untuk merakam perubahan gaji atau mengemas kini inventori. 4) Kemahiran Debugging: Gunakan perintah showtriggers dan showcreateTrigger. 5) Pengoptimuman Prestasi: Elakkan operasi kompleks, menggunakan indeks, dan menguruskan urus niaga.

Langkah -langkah untuk membuat dan mengurus akaun pengguna di MySQL adalah seperti berikut: 1. Buat pengguna: Gunakan createuser'newuser '@' localhost'identifiedby'password '; 2. Menetapkan Kebenaran: Gunakan Grantselect, Insert, UpdateOnmydatabase.to'newuser'@'localhost '; 3. Betulkan Ralat Kebenaran: Gunakan RevokeAllPrivileSeonMydatabase.from'newuser'@'localhost '; kemudian menetapkan semula kebenaran; 4. Kebenaran Pengoptimuman: Gunakan Showgra

MySQL sesuai untuk pembangunan pesat dan aplikasi kecil dan sederhana, sementara Oracle sesuai untuk perusahaan besar dan keperluan ketersediaan yang tinggi. 1) MySQL adalah sumber terbuka dan mudah digunakan, sesuai untuk aplikasi web dan perusahaan kecil dan sederhana. 2) Oracle berkuasa dan sesuai untuk perusahaan besar dan agensi kerajaan. 3) MySQL menyokong pelbagai enjin penyimpanan, dan Oracle menyediakan fungsi peringkat perusahaan yang kaya.

Kelemahan MySQL berbanding dengan pangkalan data relasi lain termasuk: 1. Isu Prestasi: Anda mungkin menghadapi kesesakan apabila memproses data berskala besar, dan PostgreSQL melakukan lebih baik dalam pertanyaan kompleks dan pemprosesan data besar. 2. Skalabiliti: Keupayaan skala mendatar tidak sebaik Google Spanner dan Amazon Aurora. 3. Batasan Fungsian: Tidak sebaik PostgreSQL dan Oracle dalam Fungsi Lanjutan, beberapa fungsi memerlukan lebih banyak kod dan penyelenggaraan tersuai.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

EditPlus versi Cina retak
Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.