零散知識隨筆記

POST和GET的區(qū)別


跟POST與GET同級的請求還有PUT和DELETE

GET請求的數(shù)據(jù)會附在URL之后,以?分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連,如果是英文字母,原樣發(fā)送,如果是空格,轉(zhuǎn)換為+,如果是中文或者其他字符,則直接把字符串用BASE64加密
POST是把提交的數(shù)據(jù)放在HTTP包的包體中。

POST的安全性要比GET高

  1. GET用戶向服務器獲取數(shù)據(jù),但是實際操作中它也可以用來插入和修改、刪除數(shù)據(jù),這是GET的不安全性,當然如果只用來獲取數(shù)據(jù)的話,是安全的
  2. GET的不安全性還體現(xiàn)在:比如通過GET提交數(shù)據(jù),用戶名和密碼將明文出現(xiàn)在URL上,因為登陸頁面可能被瀏覽器緩存,或者其他人也可以查看瀏覽器的歷史記錄,那么別人就可以拿到你的賬號密碼了,除此之外,使用GET提交數(shù)據(jù)還可能會造成Cross-site request forgery攻擊。

總結(jié):Get是向服務器發(fā)索取數(shù)據(jù)的一種請求,而Post是向服務器提交數(shù)據(jù)的一種請求,在FORM(表單)中,Method默認為"GET",實質(zhì)上,GET和POST只是發(fā)送機制不同,并不是一個取一個發(fā)!

Mysql優(yōu)化


1、為什么要進行mysql優(yōu)化?
假設我們設置一個數(shù)據(jù)量超過10萬條記錄的表,來進行我們經(jīng)常做的查詢操作比如:select * from 表名,服務器很慢甚至卡死,需要我們重啟數(shù)據(jù)庫服務器,這說明我們的表或者查詢SQL是有問題的,所以我們要進行mysql優(yōu)化

2、數(shù)據(jù)庫優(yōu)化的目標?
通過各種對數(shù)據(jù)庫的優(yōu)化方法,獲取最高的查詢和加載性能,達到查詢性能的提高和加載性能的提高。

3、掌握優(yōu)化的方式和途徑
建表、索引、配置、SQL語句都需要優(yōu)化

4、掌握建表和分表優(yōu)化?
①數(shù)據(jù)庫表設計符合范式要求:
第一范式(1NF):是指數(shù)據(jù)庫表的每一列都是不可分割的基本數(shù)據(jù)項
第二范式(2NF)要求數(shù)據(jù)庫表中的每個實例或行必須可以被唯一的區(qū)分
第三范式(3NF)要求一個數(shù)據(jù)庫表中不包含已在其它表中已包含的非主關鍵字信息。

②數(shù)據(jù)庫字段的設置要合理
介紹常用數(shù)據(jù)類型的特點及如何選擇合適的數(shù)據(jù)類型:
int 4個字節(jié)
char
varchar
text 存儲文件
decimal 存金錢
enum(枚舉)只適合存字符串
float4個字節(jié)

③為什么要分表?
數(shù)據(jù)庫中的數(shù)據(jù)量不一定是可控的,在未進行分表的情況下,隨著時間和業(yè)務的發(fā)展,庫中的表會越來越多,表中的數(shù)據(jù)量也會越來越大,相應地,數(shù)據(jù)操作,增刪改查的開銷也會越來越大;另外,由于無法進行分布式式部署,而一臺服務器的資源(CPU、磁盤、內(nèi)存、IO等)是有限的,最終數(shù)據(jù)庫所能承載的數(shù)據(jù)量、數(shù)據(jù)處理能力都將遭遇瓶頸。

④什么是分表?
原本存儲于一個表的數(shù)據(jù)分塊存儲到多個表上

5、掌握數(shù)據(jù)庫的查詢優(yōu)化
①關鍵字一般放在SELECT查詢語句的前面,用于描述MySQL如何執(zhí)行查詢操作、以及MySQL成功返回結(jié)果集需要執(zhí)行的行數(shù)。
解釋輸出列的含義(備注):
select title from article where title like '菲律賓%';

②數(shù)據(jù)庫的優(yōu)化查詢主要有以下幾個規(guī)則:
避免全表掃描 eg:select * from 表名;(不可?。?br> 盡量使用索引查詢 eg:select age from user where age>10;
避免使用select *
盡量使用數(shù)字型字段(把包含數(shù)值信息的字段設計為字符型,會降低查詢和鏈接的性能,引擎在處理查詢和鏈接會逐個比較字符串中的每個字符 ,而對于數(shù)字型而言只需要比較一次就夠了)
避免向客戶返回大量數(shù)據(jù)
避免大的事務性操作,提高系統(tǒng)并發(fā)能力

一個插入500萬行的事務,有索引2個
導致別的操作緩慢,如果改成每次 插入5萬行,插100次,這樣別的操作會受影響小嗎?

5、掌握MySQL數(shù)據(jù)庫的索引優(yōu)化
6、掌握數(shù)據(jù)庫的配置優(yōu)化
7、掌握數(shù)據(jù)庫的查詢優(yōu)化

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內(nèi)部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,626評論 18 399
  • Spark SQL, DataFrames and Datasets Guide Overview SQL Dat...
    Joyyx閱讀 8,468評論 0 16
  • 一. Java基礎部分.................................................
    wy_sure閱讀 3,995評論 0 11
  • 情竇初開 你說,我一無所有但會對你一生忠誠 豆蔻年華 我念,你對我一片真心卻不想諸事不順 那年,我們的愛情一再受挫...
    故是_eb7e閱讀 115評論 0 2
  • jsp頁面有緩沖機制,只有下面4種情況之一滿足才會向瀏覽器輸出內(nèi)容 1.緩沖區(qū)滿了2.刷新緩沖區(qū)3.關閉緩沖區(qū)4....
    SmallTwo閱讀 1,554評論 0 0

友情鏈接更多精彩內(nèi)容