我們正在研究一個私人論壇解決方案,我們必須具有「上崗」的表:[PHP-PDO是什麼讓我的查詢速度變慢?
- 1指數(主鍵)
- 唯一鍵(各職位即塞/ SEO網站網址)
- 2外鍵(爲參照類別(ID),用於柱的柱的類別和OP和用戶(ID)。
現在,ID(主鍵),類別(ID)和用戶( ID)都是INT(11)UNSIGNED,我們已經使用了以下內容,我們在0.2XX秒內得到結果(在PHP pa上GE):
- 使用PHP PDO
- 使用PHP-庫MySQLi
- 使用PHP PDO與持久性連接和緩衝查詢
查詢:兩個給幾乎相同的性能(在0.17-範圍0.2XX秒)
- 從post,category,user中選擇行,其中post.userid = user.id和post.categoryid = category.id和post.id = 1; - >結果平均爲0.17秒到0.28秒
- SELECT er FROM post INNER JOIN category on post.categoryid = category.id INNER JOIN user on post.userid = user.id - >標籤出價比之前更快但是仍然是較慢的部分。
現在,當我們使用的MyBB或PHPBB,作爲測試的一部分,這些東西加載所有查詢,包括選擇課程,更新該行並在0.2秒內插入。這些軟件究竟在幹什麼?
我們使用了PDO連接,準備,然後爲MySQLi綁定execute.same。
作爲一個前進的步驟,我在一個視圖中創建了所有3個表格中所有必要列的視圖,但是這同樣給出了相同的性能。
我在做什麼錯,一個查詢佔用0.18-0.2XX秒,而一個完整的頁面顯示得更快(超過1 select + update + select)。
案例:MyBB的/ PHPBB和定製的論壇都使用同一臺機器上使用相同的PHP,MySQL的配置,只有2個用戶simulataneously訪問該站點(使用2級不同的瀏覽器1個用戶)
嗨,你建議什麼索引?我正在查看錶,並且所有表都有一個默認的BTREE INDEX,它恰好是主鍵,並且post表有4個索引即所有主鍵,唯一鍵和外鍵。 – CyberWizard