Mysql性能优化小建议_MySQL
Mysql的性能优化主要参考文章[1],[2],和[3],其中已使用且比较有效果的有:
1. 实用优化
(1)禁止autocommit, 防止每次插入都提交,刷新log
SET autocommit=0; ... SQL import statements ... COMMIT;
(3)当只要一行数据时使用 LIMIT 1
SELECT 1 FROM tbl_name LIMIT 1
(4)永远为每张表设置一个ID
为数据库里的每张表都设置一个ID做为其主键,而且最好的是一个INT型的(推荐使用UNSIGNED),并设置上自动增加的AUTO_INCREMENT标志。
(5)一次插入多行
INSERT INTO yourtable VALUES (1,2), (5,5), ...;
2. 配置优化
下面对Disk I/O和query_cache的优化做一个总结,并假设我们使用的机器内存为8GB。以下的参数都在文件my.cnf的[mysqld]下设置。
(1)innodb_buffer_pool_size 和 innodb_log_file_size
建议设置大小来自文章[5]
# # Set buffer pool size to 50-80% of your computer's memory innodb_buffer_pool_size=4G innodb_additional_mem_pool_size=256M # # Set the log file size to about 25% of the buffer pool size innodb_log_file_size=1G innodb_log_buffer_size=256M
mysql -uroot -p... -e"SET GLOBAL innodb_fast_shutdown = 0" service mysqld stop rm -f /var/lib/mysql/ib_logfile[01] service mysqld start
(2)query_cache_size
参数的说明见文章[7] ,但并未提到建议大小,反而提到设置太大也会有坏处。本人设置的大小如下:
query_cache_type=1 query_cache_limit=2M query_cache_size=128M
设置完之后,执行以下操作便可:
service mysqld restart
innodb_flush_method设置成O_DIRECT还是O_DSYNC,文章[2]中说设置成O_DIRECT会增加性能,但在文章[8]和[2]中这两个参数在实际使用时差不多,并且跟具体使用的硬件相关。所以设置成O_DIRECT是否会优化性能,还不是很确定
(4)max_allowed_packet
此参数是当网络传输数据时,需要控制的参数,如果传输的数据太大(特别是当存在large BLOB columns or long strings数据时),超过max_allowed_packet的上限时,就有可能发生错误,所以就要提高此参数。本人的设置是:
max_allowed_packet = 16M
注:
1. 查看系统变量的一些命令
show variables like 'innodb_buffer%'; SHOW GLOBAL STATUS LIKE '%innodb%'; show global status like 'Qc%';


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

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Kedua-dua telefon bimbit vivox100s dan x100 adalah model yang mewakili dalam barisan produk telefon mudah alih vivo, masing-masing mewakili tahap teknologi canggih vivo dalam tempoh masa yang berbeza. Artikel ini akan menjalankan perbandingan terperinci antara kedua-dua telefon mudah alih ini dari segi perbandingan prestasi dan analisis fungsi untuk membantu pengguna memilih telefon mudah alih yang sesuai dengan mereka dengan lebih baik. Mula-mula, mari kita lihat perbandingan prestasi antara vivox100s dan x100. vivox100s dilengkapi dengan yang terbaru

Dalam tutorial ini, kami akan membantu anda mendedahkan tindanan prestasi tersembunyi dalam Windows 11. Menggunakan ciri Performance Overlay Windows 11, anda akan dapat memantau sumber sistem anda dalam masa nyata. Anda boleh melihat penggunaan CPU masa nyata, penggunaan cakera, penggunaan GPU, penggunaan RAM, dsb. pada skrin komputer anda. Ini mudah apabila anda bermain permainan atau menggunakan program grafik yang besar (seperti editor video) dan perlu menyemak berapa banyak prestasi sistem terjejas apabila menggunakan program tertentu. Walaupun terdapat beberapa perisian percuma yang sangat baik tersedia untuk memantau prestasi sistem, dan beberapa alat terbina dalam seperti Monitor Sumber boleh digunakan untuk menyemak prestasi sistem, ciri tindanan prestasi juga mempunyai kelebihannya. Contohnya, anda tidak perlu meninggalkan program atau apl yang sedang anda gunakan atau

Perbandingan prestasi Windows 10 vs. Windows 11: Mana satu yang lebih baik? Dengan pembangunan dan kemajuan teknologi yang berterusan, sistem pengendalian sentiasa dikemas kini dan dinaik taraf. Sebagai salah satu pembangun sistem pengendalian terbesar di dunia, siri sistem pengendalian Microsoft Windows sentiasa menarik perhatian ramai pengguna. Pada tahun 2021, Microsoft mengeluarkan sistem pengendalian Windows 11, yang mencetuskan perbincangan dan perhatian yang meluas. Jadi, apakah perbezaan prestasi antara Windows 10 dan Windows 11?

Sistem pengendalian Windows sentiasa menjadi salah satu sistem pengendalian yang paling banyak digunakan pada komputer peribadi, dan Windows 10 telah lama menjadi sistem pengendalian perdana Microsoft sehingga baru-baru ini apabila Microsoft melancarkan sistem Windows 11 baharu. Dengan pelancaran sistem Windows 11, orang ramai mula berminat dengan perbezaan prestasi antara sistem Windows 10 dan Windows 11 yang mana satu yang lebih baik antara kedua-duanya? Pertama, mari kita lihat W

Dalam era Internet mudah alih, telefon pintar telah menjadi bahagian yang sangat diperlukan dalam kehidupan seharian manusia. Prestasi telefon pintar selalunya secara langsung menentukan kualiti pengalaman pengguna. Sebagai "otak" telefon pintar, prestasi pemproses amat penting. Di pasaran, siri Qualcomm Snapdragon sentiasa mewakili prestasi kukuh, kestabilan dan kebolehpercayaan, dan baru-baru ini Huawei turut melancarkan pemproses Kirin 8000 sendiri, yang dikatakan mempunyai prestasi cemerlang. Bagi pengguna biasa, cara memilih telefon bimbit dengan prestasi yang kukuh telah menjadi isu utama. Hari ini kita akan

PHP dan Go ialah dua bahasa pengaturcaraan yang biasa digunakan, dan ia mempunyai ciri dan kelebihan yang berbeza. Antaranya, perbezaan prestasi merupakan isu yang dibimbangkan oleh semua orang. Artikel ini akan membandingkan bahasa PHP dan Go dari perspektif prestasi, dan menunjukkan perbezaan prestasi mereka melalui contoh kod tertentu. Mula-mula, mari kita perkenalkan secara ringkas ciri asas PHP dan bahasa Go. PHP ialah bahasa skrip yang pada asalnya direka untuk pembangunan web Ia mudah dipelajari dan digunakan dan digunakan secara meluas dalam bidang pembangunan web. Bahasa Go ialah bahasa tersusun yang dibangunkan oleh Google.

Ollama ialah alat super praktikal yang membolehkan anda menjalankan model sumber terbuka dengan mudah seperti Llama2, Mistral dan Gemma secara tempatan. Dalam artikel ini, saya akan memperkenalkan cara menggunakan Ollama untuk mengvektorkan teks. Jika anda belum memasang Ollama secara tempatan, anda boleh membaca artikel ini. Dalam artikel ini kita akan menggunakan model nomic-embed-text[2]. Ia ialah pengekod teks yang mengatasi prestasi OpenAI text-embedding-ada-002 dan text-embedding-3-small pada konteks pendek dan tugas konteks panjang. Mulakan perkhidmatan nomic-embed-text apabila anda telah berjaya memasang o

Perbandingan prestasi kaedah membalik nilai kunci tatasusunan PHP menunjukkan bahawa fungsi array_flip() berprestasi lebih baik daripada gelung for dalam tatasusunan besar (lebih daripada 1 juta elemen) dan mengambil masa yang lebih singkat. Kaedah gelung untuk membalikkan nilai kunci secara manual mengambil masa yang agak lama.
