最近幾天看了有關(guān)SQL優(yōu)化的知識,當我們SQL語句在數(shù)據(jù)庫中做查詢操作的時候,隨著數(shù)據(jù)表中的數(shù)據(jù)量越來越大,查詢起來耗費的時間也越來越長,這個時候就需要我們對數(shù)據(jù)庫來做一些優(yōu)化,以便數(shù)據(jù)庫能快速的執(zhí)行出結(jié)果。涉及的概念大致有:索引、分區(qū)、執(zhí)行計劃、SQL語句的編寫規(guī)則、數(shù)據(jù)庫本身的優(yōu)化等等。
在大多數(shù)情況下,緩慢的延遲是由查詢或鎖引起的。通過監(jiān)控查詢和鎖,您可以深入和隔離SQL語句和鎖,這將耗費大量時間。也可使用云吶數(shù)據(jù)庫監(jiān)控和數(shù)據(jù)庫查詢監(jiān)控自定義查詢。
盲注就是在sql注入過程中,sql語句執(zhí)行的選擇后,選擇的數(shù)據(jù)不能回顯到前端頁面。此時,我們需要利用一些方法進行判斷或者嘗試,這個過程稱之為盲注。
我們通過一套白名單機制來實現(xiàn)兼容性目標。使用白名單機制是基于如下幾點考量。第一點考慮到系統(tǒng)可用資源(主要是內(nèi)存)的限制,一般不會在所有的表的所有上都創(chuàng)建列索引,當一個查詢語句需要使用到列不在列存中存在時,其不能在列存上執(zhí)行。第二點,基于性能的的考量,我們完全重寫了一套面向列存的SQL執(zhí)行引擎,包括其中所有的物理執(zhí)行算子和表達式計算,其所覆蓋的場景相對MySQL原生行存能夠支持的范圍有欠缺。當下發(fā)的SQL中包含一些IMCI執(zhí)行引擎不能支持的算子片段或者列類型時,需要能能夠識別攔截并切換回行存執(zhí)行。