我正在做一些網絡抓取並將結果插入到數據庫中。刮花需要2秒左右,但插入需要更長的時間。有兩個表,第一個表是urls和Ids列表,第二個表是一組tagIds和siteIds。如何加快SQL表的速度並快速插入並選擇?
當我向siteIds添加索引(這是URL的md5哈希值時,我這樣做是因爲它可以加快插入速度,因爲它不必爲每個urls id查詢數據庫來添加站點標籤對)插入速度在300,000左右頁面之後掉落懸崖。
例
表1
hash |url |title |description
sjkjsajwoi20doi2jdo2xq2klm www.somesite.com somesite a site with info
表2
site |tag
sjkjsajwoi20doi2jdo2xq2klm xn\zmcbmmndkd2
當我脫下它去更快的索引和我能夠在12小時內新增約25萬條記錄,但搜索沒有索引的標籤是不可能的。
我使用PHP和mysqli爲此,我願意提供更好的方式來組織這些數據。
如果您沒有正確使用索引,合適的索引表的選擇速度會更快。 – Qirel