麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

MySQL優化insert性能的方法示例

2024-07-25 19:08:31
字體:
來源:轉載
供稿:網友

MySQL性能優化

MySQL性能優化就是通過合理安排資源,調整系統參數使MySQL運行更快、更節省資源。MySQL性能優化包括查詢速度優化、更新速度優化、MySQL服務器優化等。本篇博客將從查詢優化、數據庫結構優化、MySQL服務器優化3個方面介紹。

MySQL數據庫優化,一方面是找出系統瓶頸,提高MySQL數據庫整體性能;另一方面需要合理的結構設計和參數調整,以提高用戶操作響應速度;同時還要盡可能節省系統資源,以便系統可以提供更大負荷的服務。例如,通過優化文件系統,提高磁盤I/O的讀寫書讀;通過優化操作系統調度策略,提高MySQL在高負荷下的負載能力;優化表結構、索引、查詢語句等使查詢響應更快。

MySQL的 insert 語句語法,關于mysql 優化 insert 性能 的相關介紹。

insert into `table`(`field1`,`field2`) values('value1','value2'); 

提高insert 性能的方法

1.一條sql語句插入多條數據

INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_0', 'content_0', 0); INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_1', 'content_1', 1); 

可以寫成

INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_0', 'content_0', 0), ('userid_1', 'content_1', 1); 

2.使用事務

START TRANSACTION; INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_0', 'content_0', 0); INSERT INTO `insert_table` (`uid`, `content`, `type`) VALUES ('userid_1', 'content_1', 1); ... COMMIT; 

注意

1.sql語句長度有限制,合并sql語句時要注意。長度限制可以通過max_allowed_packet配置項修改,默認為1M。

2.事務太大會影響執行效率,mysql有innodb_log_buffer_size配置項,超過這個值會使用磁盤數據,影響執行效率。

關于事務的配置項說明:

innodb_buffer_pool_size

如 果用Innodb,那么這是一個重要變量。相對于MyISAM來說,Innodb對于buffer size更敏感。MySIAM可能對于大數據量使用默認的key_buffer_size也還好,但Innodb在大數據量時用默認值就感覺在爬了。 Innodb的緩沖池會緩存數據和索引,所以不需要給系統的緩存留空間,如果只用Innodb,可以把這個值設為內存的70%-80%。和 key_buffer相同,如果數據量比較小也不怎么增加,那么不要把這個值設太高也可以提高內存的使用率。

innodb_additional_pool_size

這個的效果不是很明顯,至少是當操作系統能合理分配內存時。但你可能仍需要設成20M或更多一點以看Innodb會分配多少內存做其他用途。

innodb_log_file_size

對于寫很多尤其是大數據量時非常重要。要注意,大的文件提供更高的性能,但數據庫恢復時會用更多的時間。我一般用64M-512M,具體取決于服務器的空間。

innodb_log_buffer_size

默認值對于多數中等寫操作和事務短的運用都是可以的。如 果經常做更新或者使用了很多blob數據,應該增大這個值。但太大了也是浪費內存,因為1秒鐘總會 flush(這個詞的中文怎么說呢?)一次,所以不需要設到超過1秒的需求。8M-16M一般應該夠了。小的運用可以設更小一點。

innodb_flush_log_at_trx_commit

抱怨Innodb比MyISAM慢 100倍?那么你大概是忘了調整這個值。默認值1的意思是每一次事務提交或事務外的指令都需要把日志寫入(flush)硬盤,這是很費時的。特別是使用電 池供電緩存(Battery backed up cache)時。設成2對于很多運用,特別是從MyISAM表轉過來的是可以的,它的意思是不寫入硬盤而是寫入系統緩存。日志仍然會每秒flush到硬 盤,所以你一般不會丟失超過1-2秒的更新。設成0會更快一點,但安全方面比較差,即使MySQL掛了也可能會丟失事務的數據。而值2只會在整個操作系統 掛了時才可能丟數據。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产男女爽爽爽爽爽免费视频 | 国产亚洲精品影达达兔 | jizzzxxxxhd| 国产精品久久久久久影院8一贰佰 | 羞羞电影网 | 免费观看高清视频网站 | 91色综合综合热五月激情 | 日日草日日干 | 羞羞视频免费网站含羞草 | 宅男视频在线观看免费 | 国产精品99久久久久久久 | 九九热免费精品 | 激情久久免费视频 | 一区二区三区四区视频在线观看 | 欧美不卡| 在线日韩亚洲 | 黄色免费在线视频网站 | 国产成人小视频在线观看 | 国产亚洲精品久久久久5区 男人天堂免费 | 日日碰日日操 | 国产91精品久久久久久久 | 日韩电影av在线 | 亚洲男人的天堂在线视频 | 91精品国产91久久久久久蜜臀 | 亚洲导航深夜福利涩涩屋 | 色就色 综合偷拍区91网 | 99极品视频| 日韩av成人 | av免费提供| 日本残忍极度灌浣肠视频 | 亚洲精品aⅴ中文字幕乱码 欧美囗交 | 怦然心动50免费完整版 | 视频一区二区三区在线播放 | 中文字幕免费在线观看视频 | 717影院理论午夜伦八戒秦先生 | 国产一区视频免费观看 | 日韩美香港a一级毛片 | 91情侣在线偷精品国产 | 国产成人精品无人区一区 | 99这里有精品 | 国产69精品久久久久孕妇黑 |