優化總結 待完善

2022-07-12 01:33:11 字數 1172 閱讀 5024

sql優化

1.變數在外部解析通常要比在sql內部解析要快

$name = 1;

$sql = "select * from user where name = '$name'";

$sql = 'select * from user where name = \''.$name.'\'';

字串優化

1.包裹字串單引號與雙引號的區別

通常來說,單引號是不解析變數的,而雙引號是解析變數的,但是對於我們平常對字串的應用來說,單引號和雙引號是沒什麼區別的,其實不是,伺服器在解析字串的時候,單引號的字串通常解析的要比雙引號的字串要快,因為雙引號需要讀取判斷字串內是否存在著變數,而單引號則直接輸出

//不判斷直接輸出
$a = 'a$aa';   

$a 值為 a$aa;

//判斷是否存在變數解析再輸出
$b = "bbb''b";  

$b 值為 bbb'a$aa'b;

$c = "c$a c";

$c 值為 ca$aac;

3. 多個else if優化

一般來說,在進行邏輯運算的時候,經常會進行大量的判斷,從而會寫出很多if(){}else if(){}else if......,非常的折磨人

經過多次折磨,個人總結出兩種優化的方法

1.  if判斷有乙個不可忽視的特點,就是當條件乙個條件成立時,下面的判斷將不會進行下去,所以說,我們可以把判斷成功概率高的資料放再上面,盡量讓其不用執行太多的判斷.

2.  switch...case...  ,相信這個判斷大家都用過或看過,switch..case最大的特點就是效率,因為switch...case會直接生成跳轉表,拿到值直接跳轉到對應的case,適合執行多重迴圈判斷,但是switch...case也有乙個缺陷,就是判斷的資料僅限於(整形、浮點型或字串)

$c =c; 

switch ($c)

Windows HOOK總結 待完善

安裝鉤子 hhook winapi setwindowshookex 1,鉤子型別 in int idhook,2,函式位址,即掛鉤型別事件發生時,系統應該呼叫的函式 in hookproc lpfn,3,標識乙個dll,這個dll中包含第二個引數表示的函式 例項控制代碼 in hinstance ...

查詢方法總結 待完善

myfind.h ifndef myfind h included define myfind h included 線性查詢 順序查詢 折半查詢 兩種形式 破壞性查詢 非破壞性查詢 順序查詢 如果查詢的到就返回key在陣列中第乙個位置的下標,否則返回 1 int sequencesearc int...

elasticsearch查詢總結(待完善)

空查詢將返回所有索引庫 indices 中的所有文件 get search 只用乙個查詢字串,你就可以在乙個 多個或者 all 索引庫 indices 和乙個 多個或者所有types中查詢 get index 2014 type1,type2 search 同時你可以使用 from 和 size 引...