Jadual Kandungan
1. Apakah itu MVCC
2 Bacaan syot kilat dan bacaan semasa
2.1 Bacaan syot kilat
2.2 Bacaan Semasa
3 Semakan
3.1 Mari kita bincangkan tentang tahap pengasingan sekali lagi
3.2 Medan tersembunyi, Rangkaian versi Buat asal Log
Prinsip pelaksanaan MVCC ReadView
4.1 Apakah itu ReadView
4.2 Idea Reka Bentuk
dalam ReadView, ini bermakna transaksi yang menjana versi ini telah dimulakan selepas transaksi semasa menghasilkan ReadView, jadi versi ini tidak boleh boleh diakses oleh transaksi semasa. 🎜>
Di bawah tahap pengasingan:
5.3 如何解决幻读
Rumah pangkalan data tutorial mysql Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

Jun 03, 2023 am 11:51 AM
mysql mvcc

    1. Apakah itu MVCC

    MVCC (Multiversion Concurrency Control),多版本并发控制. Seperti namanya, MVCC melaksanakan pangkalan data 并发控制 melalui pengurusan berbilang versi baris data. Teknologi ini memastikan bahawa operasi 一致性读 dilakukan di bawah tahap pengasingan transaksi InnoDB. Dalam erti kata lain, ia adalah untuk menanyakan beberapa baris yang sedang dikemas kini oleh transaksi lain, dan anda boleh melihat nilai sebelum ia dikemas kini, supaya anda tidak perlu menunggu transaksi lain untuk melepaskan kunci semasa melakukan pertanyaan .

    Tiada standard formal untuk MVCC Pelaksanaan MVCC mungkin berbeza dalam DBMS yang berbeza, dan ia tidak digunakan secara universal (anda boleh merujuk kepada dokumentasi DBMS yang berkaitan). Di sini kami menerangkan mekanisme pelaksanaan MVCC dalam InnoDB (enjin storan MySQL lain tidak menyokongnya)

    2 Bacaan syot kilat dan bacaan semasa

    Pelaksanaan MVCC dalam MySQL InnoDB adalah terutamanya untuk menambah baik pangkalan data Prestasi concurrency, gunakan cara yang lebih baik untuk mengendalikan 读-写冲突, supaya walaupun terdapat konflik baca-tulis, 不加锁, 非阻塞并发读 boleh dicapai, dan bacaan ini merujuk kepada 快照读, bukan 当前读. Bacaan semasa sebenarnya adalah operasi penguncian dan pelaksanaan penguncian pesimis. Intipati MVCC ialah cara menggunakan pemikiran mengunci optimistik.

    2.1 Bacaan syot kilat

    Bacaan syot kilat juga dipanggil bacaan konsisten dan ia membaca data syot kilat. 不加锁的简单的SELECT都属于快照读, ialah bacaan tidak menyekat tanpa mengunci; sebagai contoh:

    select * from player where ...
    Salin selepas log masuk

    Sebab mengapa bacaan syot kilat berlaku adalah berdasarkan pertimbangan untuk meningkatkan prestasi serentak Berdasarkan MVCC, ia mengelakkan operasi mengunci dan mengurangkan overhed dalam banyak kes.

    Memandangkan ia berdasarkan berbilang versi, petikan yang dibaca mungkin tidak semestinya membaca versi terkini data, tetapi mungkin versi sejarah sebelumnya.

    Premis bacaan syot kilat ialah tahap pengasingan bukan tahap siri bacaan syot kilat pada tahap siri akan merosot kepada bacaan semasa.

    2.2 Bacaan Semasa

    Bacaan semasa membaca versi terkini rekod (data terkini, bukan versi sejarah data semasa membaca, ia juga perlu memastikan yang lain). urus niaga serentak tidak boleh mengubah suai rekod semasa, rekod yang dibaca akan dikunci. SELECT terkunci, atau penambahan, pemadaman atau pengubahsuaian data akan menghasilkan bacaan semasa. Contohnya:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    3 Semakan

    3.1 Mari kita bincangkan tentang tahap pengasingan sekali lagi

    Kami tahu bahawa terdapat 4 tahap pengasingan, mungkin terdapat tiga masalah konkurensi:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Dalam MysQL, tahap pengasingan lalai ialah bacaan berulang, yang boleh menyelesaikan bacaan kotor dan bacaan tidak boleh berulang Jika kita melihat masalah membaca hanya dari sudut definisi, ia tidak menyelesaikan masalah membaca hantu. Jika kita ingin menyelesaikan masalah bacaan hantu, kita perlu menggunakan serialisasi, iaitu, untuk meningkatkan tahap pengasingan ke tahap tertinggi, tetapi ini akan mengurangkan keupayaan konkurensi transaksi pangkalan data dengan ketara.

    MVCC boleh menyelesaikan masalah bacaan tidak berulang dan bacaan hantu melalui penguncian optimistik dan bukannya menggunakan mekanisme penguncian Ia boleh menggantikan kunci peringkat baris dalam kebanyakan kes dan mengurangkan overhed sistem.

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    3.2 Medan tersembunyi, Rangkaian versi Buat asal Log

    Mari semak rantaian versi log buat asal Untuk jadual yang menggunakan enjin storan InnoDB, indeks Kluster pengagregatannya direkodkan mengandungi dua lajur tersembunyi yang diperlukan.

    trx_id: Setiap kali transaksi menukar rekod indeks berkelompok, id transaksi transaksi akan diberikan kepada lajur tersembunyi trx_id. roll_pointer: Setiap kali rekod indeks berkelompok diubah suai, versi lama akan ditulis ke log batal Kemudian lajur tersembunyi ini bersamaan dengan penunjuk yang melaluinya maklumat sebelum rekod boleh ditemui.

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Prinsip pelaksanaan MVCC ReadView

    Pelaksanaan MVCC bergantung pada: Medan tersembunyi, Buat asal Log, Pandangan Baca

    4.1 Apakah itu ReadView

    Dalam mekanisme MVCC, pasangan transaksi berbilang Mengemas kini rekod baris yang sama akan menghasilkan berbilang petikan sejarah dan petikan sejarah ini disimpan dalam Log Buat Asal. Jika transaksi ingin menanyakan rekod baris ini, versi rekod baris yang manakah perlu dibaca pada masa ini, ReadView perlu digunakan, yang membantu kami menyelesaikan masalah keterlihatan baris.

    Apabila transaksi menggunakan mekanisme MVCC untuk melaksanakan operasi baca syot kilat, paparan baca akan dijana, iaitu ReadView. Apabila transaksi dimulakan, petikan semasa sistem pangkalan data akan dijanakan InnoDB membina tatasusunan untuk setiap transaksi untuk merekod dan mengekalkan ID transaksi aktif semasa sistem ("aktif" merujuk kepada yang telah dimulakan tetapi. belum diserahkan ).

    4.2 Idea Reka Bentuk

    Gunakan READ UNCOMMITTED urus niaga peringkat pengasingan kerana anda boleh membaca rekod yang diubah suai oleh urus niaga tanpa komitmen, anda hanya boleh membaca versi terkini rekod secara langsung

    Menggunakan SERIALIZABLE transaksi peringkat pengasingan, InnoDB memerlukan penguncian untuk mengakses rekod

    Menggunakan READ COMMITTED dan REPEATABLE READ transaksi peringkat pengasingan mesti memastikan akses baca Rekod yang diubah suai. Jika transaksi lain telah mengubah suai rekod tetapi belum menyerahkannya, versi terkini rekod tidak boleh dibaca secara langsung masalah utama yang perlu diselesaikan oleh ReadView. 已经提交了的事务

    Dengan ReadView ini, apabila mengakses rekod, anda hanya perlu mengikut langkah di bawah untuk menentukan sama ada versi tertentu rekod itu kelihatan

    Jika nilainya daripada atribut trx_id versi yang diakses adalah sama dengan nilai

    dalam ReadView, ini bermakna transaksi semasa mengakses rekodnya sendiri yang diubah suai, jadi versi ini boleh diakses oleh transaksi semasa 🎜>Jika nilai atribut trx_id versi yang diakses adalah kurang daripada nilai Analisis contoh MVCC kawalan penukaran berbilang versi MySQL dalam ReadView, ini menunjukkan bahawa transaksi yang menjana versi ini telah dilakukan sebelum transaksi semasa menghasilkan ReadView, jadi versi ini boleh diakses oleh transaksi semasa 🎜>

    Jika nilai atribut trx_id versi yang diakses adalah lebih besar daripada atau sama dengan nilai

    dalam ReadView, ini bermakna transaksi yang menjana versi ini telah dimulakan selepas transaksi semasa menghasilkan ReadView, jadi versi ini tidak boleh boleh diakses oleh transaksi semasa. 🎜>

    Jika nilai atribut trx_id versi yang diakses adalah antara
      dan
    • ReadView, maka anda perlu menentukan sama ada nilai atribut trx_id ialah dalam senarai

      Jika ia ada, ini bermakna transaksi yang menghasilkan versi ini masih aktif apabila ReadView dibuat, dan versi ini tidak boleh diakses menjana versi ini apabila ReadView telah dibuat telah dilakukan, dan versi ini boleh diakses 4.4 proses operasi keseluruhan MVCC creator_trx_id

    • Selepas memahami konsep ini, mari kita lihat bagaimana. sistem menemuinya melalui MVCC apabila menanyakan rekod: up_limit_id

    • 1. Mula-mula dapatkan nombor versi transaksi, iaitu ID transaksi;low_limit_id

    • 2 Dapatkan ReadView;

      up_limit_idlow_limit_idtrx_ids3. Tanya data yang diperoleh dan kemudian bandingkan dengan nombor versi transaksi dalam ReadView;

    4 Jika ia tidak memenuhi peraturan Readview, anda perlu mendapatkan petikan sejarah daripada Undo Log ;

      5. Akhirnya, data yang mematuhi peraturan dikembalikan.
    • Jika versi data tertentu tidak kelihatan kepada transaksi semasa, kemudian ikuti rantaian versi untuk mencari versi data seterusnya, teruskan ikut langkah di atas untuk menentukan keterlihatan, dan seterusnya , sehingga versi terakhir dalam rangkaian versi. Jika versi terbaharu tidak kelihatan, rekod tidak kelihatan kepada transaksi dan tidak disertakan dalam hasil pertanyaan.
    • Dalam InnoDB, MVCC membaca data melalui Undo Log + Read View menyimpan petikan sejarah dan peraturan Read View membantu kami menentukan sama ada versi data semasa boleh dilihat.

    • Apabila tahap pengasingan Read Committed, setiap pertanyaan pilihan dalam transaksi akan memperoleh semula Read View.
    • Apabila tahap pengasingan boleh dibaca semula, bacaan tidak boleh diulang akan dielakkan Ini kerana transaksi hanya memperoleh Pandangan Baca sekali apabila ia dipilih buat kali pertama pilihan seterusnya akan menggunakan semula Read View ini,

    • seperti yang ditunjukkan di bawah:

    Contoh

    Andaikan itu hanya terdapat satu rekod yang disisipkan dalam jadual pelajar oleh

    untuk transaksi

    :

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    MVCC hanya boleh digunakan dalam READ Berfungsi di bawah dua tahap pengasingan: KOMITED dan BACA BOLEH DIULANG. Seterusnya, mari kita lihat perbezaan dalam masa yang dipanggil untuk menjana Readview antara dan .

    5.1 BACA KOMITEDAnalisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Di bawah tahap pengasingan:

    事务id8

    Kini terdapat dua transaksi dengan ID transaksi 10 dan 20 sedang dilaksanakan:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Penjelasan: Pelaksanaan transaksi Semasa proses, hanya apabila rekod sebenarnya diubah suai buat kali pertama (seperti menggunakan penyata INSERT, DELETE, UPDATE), ID transaksi yang berasingan akan diberikan dan ID transaksi ini akan ditambah. Itulah sebabnya kami mengemas kini beberapa rekod dalam jadual lain dalam transaksi 2 untuk membenarkannya memberikan id transaksi.

    Pada masa ini, senarai pautan versi yang diperolehi oleh rekod dengan id 1 dalam jadual pelajar adalah seperti berikut:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Andaikan sekarang Transaksi menggunakan tahap pengasingan READ COMMITED memulakan pelaksanaan:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Proses pelaksanaan SELECT1 ini adalah seperti berikut:

    Langkah 1∶ akan mula-mula menjana ReadView apabila melaksanakan pernyataan SELECT Kandungan senarai trx_ids ReadView ialah [10, 20], up_limit_id ialah 10. , dan low_limit_id ialah 21 , creator_trx_id ialah 0.
    Langkah 2: Pilih rekod yang boleh dilihat daripada rangkaian versi Seperti yang dapat dilihat daripada rajah, kandungan lajur name versi terkini ialah &#39;王五&#39; dan nilai trx_id versi ini ialah <. 🎜>, dalam senarai trx_ids dalam, jadi ia tidak memenuhi keperluan keterlihatan dan melompat ke versi seterusnya mengikut roll_pointer. 10Langkah 3: Kandungan lajur
    versi seterusnya ialah name Nilai &#39;李四&#39; versi ini juga trx_id dan juga dalam senarai 10, jadi ia tidak. memenuhi keperluan Teruskan melompat ke versi seterusnya. trx_idsLangkah 4: Kandungan lajur
    dalam versi seterusnya ialah name dan nilai &lsquo;张三&#39; versi ini ialah trx_id, iaitu kurang daripada nilai up_limit_id 10 dalam ReadView, jadi versi ini memenuhi keperluan Akhirnya Versi yang dikembalikan kepada pengguna ialah rekod yang nama lajurnya ialah "Zhang San". Selepas 8

    , kami menyerahkan transaksi

    kepada transaksi id: 10

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    dan kemudian kepada transaksi

    kepada 事务id Kemas kini rekod dengan 20 student dalam jadual id: 1

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Pada masa ini, rantai versi rekod dengan id 1 dalam table student is Ia kelihatan seperti ini:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Kemudian teruskan mencari rekod dengan id 1 dalam transaksi yang baru sahaja menggunakan tahap pengasingan READ COMMITTED,

    seperti berikut:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Proses pelaksanaan SELECT2 ini adalah seperti berikut:

    Langkah 1∶Apabila melaksanakan pernyataan SELECT, akan terdapat satu lagi ralat Hasilkan ReadView secara berasingan Kandungan senarai trx_ids ReadView ialah [20], up_limit_id ialah 20, low_limit_id ialah 21 dan creator_trx_id ialah 0.
    Langkah 2:Pilih rekod yang boleh dilihat daripada rangkaian versi Seperti yang dapat dilihat daripada rajah, kandungan nama lajur versi terkini ialah "Song Ba", dan nilai tr×_id. daripada versi ini ialah 20, berada dalam senarai trx_ids, jadi ia tidak memenuhi keperluan keterlihatan dan melompat ke versi seterusnya mengikut roll.pointer.
    Langkah 3∶Kandungan nama lajur versi seterusnya ialah ’Qian Qi’ Nilai trx_id versi ini ialah 20, yang juga terdapat dalam senarai trx_ids, jadi ia tidak. memenuhi keperluan Teruskan melompat ke versi seterusnya. Langkah 4: Kandungan nama lajur versi seterusnya ialah "王五". Nilai trx_id versi ini ialah 10, iaitu kurang daripada nilai up_limit.id 20 dalam ReadView, jadi versi ini memenuhi keperluan , dan akhirnya kembali Versi yang diberikan kepada pengguna ialah rekod yang nama lajurnya ialah "王五".
    Secara analogi, jika rekod dengan ID transaksi 20 juga diserahkan kemudian, apabila rekod dengan nilai ID 1 dalam pelajar jadual disoal semula dalam transaksi menggunakan tahap pengasingan READ CONMMITTED, hasil yang diperoleh ialah "Song Ba" ;, kami tidak akan menganalisis proses tertentu.

    5.2 BACA DIULANG

    Di bawah tahap pengasingan:

    Untuk urus niaga menggunakan tahap pengasingan BACA BOLEH DIULANG, pernyataan pertanyaan hanya akan dilaksanakan buat kali pertama Apabila ReadView dijana, pertanyaan berikutnya tidak akan dijana berulang kali.

    Sebagai contoh, terdapat dua transaksi dengan ID transaksi 10 dan 20 sedang dilaksanakan dalam sistem:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    此刻,表student中id为1的记录得到的版本链表如下所示:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    假设现在有一个使用REPEATABLE READ隔离级别的事务开始执行:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    此时执行过程与read committed相同

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    然后再到刚才使用REPEATABLE READ隔离级别的事务中继续查找id为1的记录,如下:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    这个SELECT2的执行过程如下:

    步骤1:因为当前事务的隔离级别为REPEATABLE READ,而之前在执行SELECT1时已经生成过ReadView了,所以此时直接复用之前的ReadView,之前的ReadView的trx_ids列表的内容就是[10,20],up_limit_id为10, low_limit_id为21 , creator_trx_id为0。
    步骤2:然后从版本链中挑选可见的记录,从图中可以看出,最新版本的列name的内容是’宋八’trx_id值为20,在trx_ids列表内,所以不符合可见性要求,根据roll_pointer跳到下一个版本。
    步骤3:下一个版本的列name的内容是’钱七’,该版本的trx_id值为20,也在trx_ids列表内合要求,继续跳到下一个版本。
    步骤4:下一个版本的列name的内容是’王五’,该版本的trx_id值为10,而trx_ids列表中是包含值为10的事务id的,所以该版本也不符合要求,同理下一个列name的内容是’李四’的版本也不符合要求。继续跳到下个版本。
    步聚5∶下一个版本的列name的内容是’张三’,该版本的trx_id值为80,小于Readview中的up_limit_id值10,所以这个版本是符合要求的,最后返回给用户的版本就是这条列c为‘张三’的记录。
    两次SELECT查询得到的结果是重复的,记录的列c值都是’张三’,这就是可重复读的含义。如果我们之后再把事务id为20的记录提交了,然后再到刚才使用REPEATABLE READ隔离级刷的事务中继续查找这个id为1的记录,得到的结果还是’张三’,具体执行过程大家可以自己分析一下。

    5.3 如何解决幻读

    假设现在表student中只有一条数据,数据内容中,主键id=1,隐藏的trx_id=10,它的undo log如下图所示。

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    假设现在有事务A和事务B并发执行,事务A的事务id为20,事务B的事务id为30。
    步骤1:事务A开始第一次查询数据,查询的SQL语句如下。

    select * from student where id > 1;
    Salin selepas log masuk

    在开始查询之前,MySQL会为事务A产生一个ReadView,此时ReadView的内容如下: trx_ids=[20, 30 ] ,up_limit_id=20 , low_limit_id=31 , creator_trx_id=20。

    因为表student只有一条符合条件 where id>=1 的数据,所以会被查询出来。然后根据ReadView机制,发现该行数据的trx_id=10,小于事务A的ReadView里up_limit_id,这表示这条数据是事务A开启之前,其他事务就已经提交了的数据,因此事务A可以读取到。

    结论:事务A的第一次查询,能读取到一条数据,id=1。

    步骤2∶接着事务B(trx_id=30),往表student中新插入两条数据,并提交事务。

    insert into student(id,name) values(2,&#39;李四&#39;);
    insert into student(id,name) values(3,&#39;王五&#39;);
    Salin selepas log masuk

    此时表student中就有三条数据了,对应的undo如下图所示:

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Langkah 3∶ Kemudian transaksi A memulakan pertanyaan kedua Mengikut peraturan tahap pengasingan bacaan boleh berulang, transaksi A tidak akan menjana semula ReadView pada masa ini. Pada masa ini, tiga keping data dalam jadual pelajar semuanya memenuhi syarat di mana id>=1, jadi mereka akan ditemui dahulu. Kemudian mengikut mekanisme ReadView, ia dinilai sama ada setiap bahagian data boleh dilihat oleh transaksi A.
    1) Pertama sekali, data dengan id=1, seperti yang dinyatakan sebelum ini, boleh dilihat oleh transaksi A.
    2) Kemudian terdapat data dengan id=2, dan trx_id=30nya Pada masa ini, transaksi A mendapati bahawa nilai ini adalah antara up_limit_id dan low_limit_id, jadi adalah perlu untuk menentukan sama ada 30 berada dalam tatasusunan trx_ids. . Memandangkan trx_ids=[20,30] transaksi A, dalam tatasusunan, ini bermakna data dengan id=2 telah diserahkan oleh transaksi lain bermula pada masa yang sama dengan transaksi A, jadi data ini tidak dapat dilihat oleh transaksi A. .
    3) Begitu juga, trx_id data ini dengan id=3 juga adalah 30, jadi ia tidak dapat dilihat oleh transaksi A.

    Analisis contoh MVCC kawalan penukaran berbilang versi MySQL

    Kesimpulan: Pertanyaan kedua transaksi terakhir A hanya boleh menanyakan data dengan id=1. Ini adalah sama seperti hasil pertanyaan pertama transaksi A, jadi tiada fenomena bacaan hantu Oleh itu, di bawah tahap pengasingan berulang MySQL, tidak ada masalah membaca hantu.

    Atas ialah kandungan terperinci Analisis contoh MVCC kawalan penukaran berbilang versi MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    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

    Alat AI Hot

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    AI Hentai Generator

    AI Hentai Generator

    Menjana ai hentai secara percuma.

    Artikel Panas

    R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Tetapan grafik terbaik
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
    3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25: Cara Membuka Segala -galanya Di Myrise
    4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    MySQL: Kemudahan Pengurusan Data untuk Pemula MySQL: Kemudahan Pengurusan Data untuk Pemula Apr 09, 2025 am 12:07 AM

    MySQL sesuai untuk pemula kerana mudah dipasang, kuat dan mudah untuk menguruskan data. 1. Pemasangan dan konfigurasi mudah, sesuai untuk pelbagai sistem operasi. 2. Menyokong operasi asas seperti membuat pangkalan data dan jadual, memasukkan, menanyakan, mengemas kini dan memadam data. 3. Menyediakan fungsi lanjutan seperti menyertai operasi dan subqueries. 4. Prestasi boleh ditingkatkan melalui pengindeksan, pengoptimuman pertanyaan dan pembahagian jadual. 5. Sokongan sokongan, pemulihan dan langkah keselamatan untuk memastikan keselamatan data dan konsistensi.

    Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Bolehkah saya mengambil kata laluan pangkalan data di Navicat? Apr 08, 2025 pm 09:51 PM

    Navicat sendiri tidak menyimpan kata laluan pangkalan data, dan hanya boleh mengambil kata laluan yang disulitkan. Penyelesaian: 1. Periksa Pengurus Kata Laluan; 2. Semak fungsi "Ingat Kata Laluan" Navicat; 3. Tetapkan semula kata laluan pangkalan data; 4. Hubungi pentadbir pangkalan data.

    Cara Membuat Premium Navicat Cara Membuat Premium Navicat Apr 09, 2025 am 07:09 AM

    Buat pangkalan data menggunakan Navicat Premium: Sambungkan ke pelayan pangkalan data dan masukkan parameter sambungan. Klik kanan pada pelayan dan pilih Buat Pangkalan Data. Masukkan nama pangkalan data baru dan set aksara yang ditentukan dan pengumpulan. Sambung ke pangkalan data baru dan buat jadual dalam penyemak imbas objek. Klik kanan di atas meja dan pilih masukkan data untuk memasukkan data.

    Cara menyalin jadual di mysql Cara menyalin jadual di mysql Apr 08, 2025 pm 07:24 PM

    Menyalin jadual di MySQL memerlukan membuat jadual baru, memasukkan data, menetapkan kunci asing, menyalin indeks, pencetus, prosedur tersimpan, dan fungsi. Langkah -langkah khusus termasuk: mewujudkan jadual baru dengan struktur yang sama. Masukkan data dari jadual asal ke dalam jadual baru. Tetapkan kekangan utama asing yang sama (jika jadual asal mempunyai satu). Buat indeks yang sama. Buat pencetus yang sama (jika jadual asal mempunyai satu). Buat prosedur atau fungsi yang disimpan yang sama (jika jadual asal digunakan).

    Bagaimana untuk melihat kata laluan pangkalan data di Navicat untuk MariaDB? Bagaimana untuk melihat kata laluan pangkalan data di Navicat untuk MariaDB? Apr 08, 2025 pm 09:18 PM

    Navicat untuk MariaDB tidak dapat melihat kata laluan pangkalan data secara langsung kerana kata laluan disimpan dalam bentuk yang disulitkan. Untuk memastikan keselamatan pangkalan data, terdapat tiga cara untuk menetapkan semula kata laluan anda: Tetapkan semula kata laluan anda melalui Navicat dan tetapkan kata laluan yang kompleks. Lihat fail konfigurasi (tidak disyorkan, risiko tinggi). Gunakan alat baris perintah sistem (tidak disyorkan, anda perlu mahir dalam alat baris arahan).

    Cara Melihat MySQL Cara Melihat MySQL Apr 08, 2025 pm 07:21 PM

    Lihat pangkalan data MySQL dengan arahan berikut: Sambungkan ke pelayan: MySQL -U Pengguna Nama -P Kata Laluan Run Show pangkalan data; Perintah untuk mendapatkan semua pangkalan data yang sedia ada Pilih pangkalan data: Gunakan nama pangkalan data; Lihat Jadual: Tunjukkan Jadual; Lihat Struktur Jadual: Huraikan nama jadual; Lihat data: pilih * dari nama jadual;

    Cara menyalin dan tampal mysql Cara menyalin dan tampal mysql Apr 08, 2025 pm 07:18 PM

    Salin dan tampal di MySQL termasuk langkah -langkah berikut: Pilih data, salin dengan Ctrl C (Windows) atau Cmd C (Mac); Klik kanan di lokasi sasaran, pilih Paste atau gunakan Ctrl V (Windows) atau CMD V (MAC); Data yang disalin dimasukkan ke dalam lokasi sasaran, atau menggantikan data sedia ada (bergantung kepada sama ada data sudah ada di lokasi sasaran).

    Cara Melaksanakan SQL di Navicat Cara Melaksanakan SQL di Navicat Apr 08, 2025 pm 11:42 PM

    Langkah -langkah untuk melaksanakan SQL di Navicat: Sambungkan ke pangkalan data. Buat tetingkap editor SQL. Tulis pertanyaan SQL atau skrip. Klik butang Run untuk melaksanakan pertanyaan atau skrip. Lihat hasilnya (jika pertanyaan dilaksanakan).

    See all articles