从上个月起,秋色园 QBlog 的数据库,已经从access+sqlite变更为sql2000+sqlite,从此,access离开了秋色园的怀抱。 该走的还是走了,秋色园在用Access一年多后,目前对本人来说,已优无可优,甚到为之担忧的地步,终于还是离开了。 下面让我们简单回顾一下
从上个月起,秋色园QBlog的数据库,已经从access+sqlite变更为sql2000+sqlite,从此,access离开了秋色园的怀抱。
该走的还是走了,秋色园在用Access一年多后,目前对本人来说,已优无可优,甚到为之担忧的地步,终于还是离开了。
下面让我们简单回顾一下秋色园与Access恩怨情仇(太久没写文章,不习惯写长文了):
恩:还记得最早秋色园使用Access,是由于秋色园是寄在朋友的godaddy的虚拟子目录下,那时候还没咋认识sqlite,因此access是最优选择,access感觉还是不错的,一开始感觉速度还是挺快的。
优点:简单实用,啥也不用想,传上去就OK了。
怨:随着秋色园文章量的增加,access在速度上,特别是分页速度,已经明显的力不从心,文章量越大,速度越是下降的明显,多次优化分页方法,终于速度上去了一点点,但这一点点并解决不了问题,后来换上了512M内存的vps。
缺点:经不起量(几万以上)的折磨。
情:虽然秋色园多次尝试换其它数据库,包括在oracle、Mysql、mssql等数据库上运行过秋色园,但由于内存实在太小,最终还是回归到access上,虽然也一度在sqlite上运行了,但没发sqlite有啥速度改善,于是一切回到了access,为并之优化打算奋斗到底。
优点:原来还好很多可优化的地方。
每次优化完access的问题,总多少会感觉到点优越感,弄久了,似觉的感情深了,以下回忆一下和Access优化有关的都有什么来着:
1:优化分页语句:在组合sql语句时,可以进行sql语句优化,这个好像到处都通用的,不需要分access了。
2:数据库分库:其实就是链接表,用链接表,的解可以在某种程度上解决一些问题。
这个分库涉及:把大量段的分离,或者表分离,尽量保持一个数据库小一点。
3:建立索引:Access也有索引的,不过我设了和没设,没感觉到有区别(不像其它数据库,设置后效果太明显)。
4:压缩数据库,用久了压一压,数据库小点,感觉还是有点用处的。
晕,总结了一下,才发现access没多少可优化点,以前优化都是在尽量避免和access接触,基本上是程序上的优化。
仇:由于Access本身并不具备多少优化点,因此,程序上根本无法100%阻挡access的写入或读取,因此,总在某一时刻,数据库死锁了,最可怕的,最后还经常出现aspnet_isapi检测到死锁,重启应用程序池,这对本来内存就小的服务器是最致命的打击,从此,我恨access。
缺点:当access死锁时,这是相当可怕的,因为除了重启IIS,你几乎没有其它方式可以恢复网站的正常运行。
补充另外一招:调用GC.Collect(),这招可以释放Access未关闭链接而链接引用丢失时造成的临时锁。
最后,我必须总结一下:
1:access本来就是桌面数据库,还是不要勉强逼它吃多线程应用。
2:站点有点流量的,内存一定要够大,vsp买时,内存至少得1G以上够开个sql2000,多花点钱,省N多时间。
3:目前秋色园QBlog运行在sql2000下+sqlite辅助,一切正常。
4:本来是想写文本数据库(CYQ.Data数据框架操作文本)相关的文章,没想到写着写着写成这文章了,歪了。。。

InnoDB menggunakan redolog dan undologs untuk memastikan konsistensi dan kebolehpercayaan data. 1. Pengubahsuaian halaman data rekod untuk memastikan pemulihan kemalangan dan kegigihan transaksi. 2.UNDOLOGS merekodkan nilai data asal dan menyokong penggantian transaksi dan MVCC.

Metrik utama untuk menjelaskan arahan termasuk jenis, kunci, baris, dan tambahan. 1) Jenis mencerminkan jenis akses pertanyaan. Semakin tinggi nilai, semakin tinggi kecekapan, seperti const adalah lebih baik daripada semua. 2) Kunci memaparkan indeks yang digunakan, dan null menunjukkan tiada indeks. 3) Baris menganggarkan bilangan baris yang diimbas, yang mempengaruhi prestasi pertanyaan. 4) Tambahan memberikan maklumat tambahan, seperti menggunakanFilesort meminta bahawa ia perlu dioptimumkan.

MenggunakanTemary menunjukkan bahawa keperluan untuk membuat jadual sementara dalam pertanyaan MySQL, yang biasanya dijumpai di Orderby menggunakan lajur yang berbeza, GroupBy, atau tidak diindeks. Anda boleh mengelakkan berlakunya indeks dan menulis semula pertanyaan dan meningkatkan prestasi pertanyaan. Khususnya, apabila menggunakan pembelian muncul dalam menjelaskan output, ini bermakna MySQL perlu membuat jadual sementara untuk mengendalikan pertanyaan. Ini biasanya berlaku apabila: 1) deduplikasi atau pengelompokan apabila menggunakan yang berbeza atau kumpulan; 2) Susun apabila Orderby mengandungi lajur bukan indeks; 3) Gunakan subquery kompleks atau menyertai operasi. Kaedah Pengoptimuman termasuk: 1) Orderby dan GroupB

MySQL/InnoDB menyokong empat tahap pengasingan transaksi: ReadUncommitted, ReadCommitted, RepeatableRead dan Serializable. 1. ReadoMuncommitted membolehkan membaca data yang tidak komited, yang boleh menyebabkan bacaan kotor. 2. 3.RepeatableRead adalah tahap lalai, mengelakkan bacaan kotor dan bacaan yang tidak boleh diulang, tetapi bacaan hantu mungkin berlaku. 4. Serializable mengelakkan semua masalah konkurensi tetapi mengurangkan kesesuaian. Memilih tahap pengasingan yang sesuai memerlukan keseimbangan data konsistensi dan keperluan prestasi.

MySQL sesuai untuk aplikasi web dan sistem pengurusan kandungan dan popular untuk sumber terbuka, prestasi tinggi dan kemudahan penggunaan. 1) Berbanding dengan PostgreSQL, MySQL melakukan lebih baik dalam pertanyaan mudah dan operasi membaca serentak yang tinggi. 2) Berbanding dengan Oracle, MySQL lebih popular di kalangan perusahaan kecil dan sederhana kerana sumber terbuka dan kos rendah. 3) Berbanding dengan Microsoft SQL Server, MySQL lebih sesuai untuk aplikasi silang platform. 4) Tidak seperti MongoDB, MySQL lebih sesuai untuk data berstruktur dan pemprosesan transaksi.

Cardinality Indeks MySQL mempunyai kesan yang signifikan terhadap prestasi pertanyaan: 1. Indeks kardinaliti yang tinggi dapat lebih berkesan menyempitkan julat data dan meningkatkan kecekapan pertanyaan; 2. Indeks kardinaliti yang rendah boleh membawa kepada pengimbasan jadual penuh dan mengurangkan prestasi pertanyaan; 3. Dalam indeks bersama, urutan kardinaliti yang tinggi harus diletakkan di depan untuk mengoptimumkan pertanyaan.

Laluan pembelajaran MySQL termasuk pengetahuan asas, konsep teras, contoh penggunaan, dan teknik pengoptimuman. 1) Memahami konsep asas seperti jadual, baris, lajur, dan pertanyaan SQL. 2) Ketahui definisi, prinsip kerja dan kelebihan MySQL. 3) menguasai operasi CRUD asas dan penggunaan lanjutan, seperti indeks dan prosedur yang disimpan. 4) Biasa dengan debugging kesilapan biasa dan cadangan pengoptimuman prestasi, seperti penggunaan rasional indeks dan pertanyaan pengoptimuman. Melalui langkah -langkah ini, anda akan memahami sepenuhnya penggunaan dan pengoptimuman MySQL.

Aplikasi dunia nyata MySQL termasuk reka bentuk pangkalan data asas dan pengoptimuman pertanyaan kompleks. 1) Penggunaan Asas: Digunakan untuk menyimpan dan mengurus data pengguna, seperti memasukkan, menanyakan, mengemas kini dan memadam maklumat pengguna. 2) Penggunaan lanjutan: Mengendalikan logik perniagaan yang kompleks, seperti perintah dan pengurusan inventori platform e-dagang. 3) Pengoptimuman Prestasi: Meningkatkan prestasi dengan menggunakan indeks, jadual partisi dan cache pertanyaan.


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

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Dreamweaver CS6
Alat pembangunan web visual

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.

SublimeText3 Linux versi baharu
SublimeText3 Linux versi terkini

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna