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高
- GET用戶向服務器獲取數(shù)據(jù),但是實際操作中它也可以用來插入和修改、刪除數(shù)據(jù),這是GET的不安全性,當然如果只用來獲取數(shù)據(jù)的話,是安全的
- 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)化