PHP優化技巧一例

2021-05-21 12:17:07 字數 814 閱讀 3102

測試資料:

有乙個陣列 , 一共3萬條資料, 1mb大小, 我分成2種方法放資料來測試//***in***

1. array.php 直接新建個空[url=file::;]

php[/url]檔案, 把陣列放進去 <?php $array = array(...3萬陣列...); ?>

2. array.txt 把陣列serialize後儲存

測試程式:

複製內容到剪貼簿 **:for ($i=0 ;$i<100; $i++)

結果:require和include速度一樣,結果就不寫了

測試程式:

複製內容97gan到剪貼簿 **:for ($i=0 ;$i<100; $i++)

結果:1. 在寫一些類或函式的時候, 大陣列不要放在程式裡, 應該用file_get_contents方法讀取

2. 做快取的方式, file_get_contents再unserialize要比require和include快, 比如sablog和discuz的快取方式就有問題, 它們是把資料庫裡的內容, 程式讀出來再存成可以require的陣列, 具體程式我沒再看了, var_export就可以搞定, 但實現起來, serialize要方便直觀容易得多

3. 關於安全性, php直接require的方式, 雖然可以在頭頂上加上 defined()來判斷

但file_get_contents方法安全性可以這樣做, 把重要資料都放在乙個目錄裡, 如/data/然後在/data/裡放個.htaccess, 寫deny from all, 或者在根目錄放.htaccess加個檔案字尾的規則禁止都可以

演算法優化一例

本文將以排序演算法中的插入排序為例,介紹優化演算法,編制高效程式的方法。人們通常用於排序手中橋牌的方法是一次考慮一張牌,將它插入到已經排序過的牌的適當位置中 時刻讓它們保持有序 在計算機實現中,我們需要將較大的元素移到右邊,為插入的元素準備空間,然後再在空位置上插入該元素。該演算法的通常的乙個實現如...

sql優化一例

原sql,查詢總數300,每頁15資料也要8秒 select a from table where date format my time,y m d 2012 08 15 limit 0,15 優化後的sql,查詢總數18000,每頁15的資料只要1秒 select a from table wh...

SQL Server 查詢優化一例

前幾天去客戶那裡做效能檢查優化,發現有這樣一大段sql語句,每天會執行幾千次,一共36條相似語句,只是每條語句中的條件 病案大類 不同 select 一般醫療服務費 sum isnull 金額,0 from 流水帳 with nolock where 住院號 zyh and 專案 in select...