MySql數(shù)據(jù)庫面試常見問題

1.數(shù)據(jù)庫索引實現(xiàn)原理
數(shù)據(jù)庫的索引是在存儲引擎層實現(xiàn)的,不同的存儲引擎有不同的實現(xiàn)方法,索引一般指的是B-Tree這種數(shù)據(jù)結(jié)構(gòu)犀斋,InnoDB使用的是B+樹律胀,B樹指的是多路自平衡搜索樹宋光,所有鍵值分布在樹的所有節(jié)點中貌矿,搜索有可能在非葉子節(jié)點結(jié)束,性能逼近二分搜索罪佳。B+樹是B-樹的變體逛漫,所有的鍵值都存儲在葉子節(jié)點中,為所有節(jié)點增加了鏈指針赘艳。
為什么會使用B/B+樹:
紅黑樹等數(shù)據(jù)結(jié)構(gòu)也可以用來實現(xiàn)索引酌毡,但是文件系統(tǒng)及數(shù)據(jù)庫系統(tǒng)普遍采用B-/+Tree作為索引結(jié)構(gòu)。MySQL 是基于磁盤的數(shù)據(jù)庫系統(tǒng),索引往往以索引文件的形式存儲的磁盤上,索引查找過程中就要產(chǎn)生磁盤I/O消耗,相對于內(nèi)存存取蕾管,I/O存取的消耗要高幾個數(shù)量級,索引的結(jié)構(gòu)組織要盡量減少查找過程中磁盤I/O的存取次數(shù)枷踏。為什么使用B-/+Tree,還跟磁盤存取原理有關(guān)掰曾。
InnoDB存儲引擎旭蠕,B+樹索引+自適應(yīng)哈希索引。
B+樹和B樹的優(yōu)缺點
B樹每個索引節(jié)點都含有信息旷坦,B+數(shù)除了葉子節(jié)點外掏熬,其余的都是存儲的索引,因此一次性讀入內(nèi)存的數(shù)據(jù)更多了秒梅,降低io次數(shù)旗芬,而且所有數(shù)據(jù)都存儲在葉子節(jié)點上,查詢效率更加穩(wěn)定番电,因為葉子節(jié)點之間用過指針相連岗屏,所以范圍查找更加快速,B樹要實現(xiàn)范圍查找只能進行中序遍歷漱办。

2.什么數(shù)據(jù)庫索引
索引就是用來提高數(shù)據(jù)庫表的訪問速度的这刷,和我們查字典的過程很象,
A)索引可以避免全表掃描娩井。多數(shù)查詢可以僅掃描少量索引頁及數(shù)據(jù)頁暇屋,而不是遍歷所有數(shù)據(jù)頁。
B)對于非聚集索引洞辣,有些查詢甚至可以不訪問數(shù)據(jù)頁咐刨。
C)聚集索引可以避免數(shù)據(jù)插入操作集中于表的最后一個數(shù)據(jù)頁。
D)一些情況下扬霜,索引還可用于避免排序操作定鸟。

3.索引的存儲
一個索引包含索引項+指針,就是你指定的那個索引記錄和指向數(shù)據(jù)的指針著瓶,鍵值+邏輯指針联予。
當你為一張空表創(chuàng)建索引時,數(shù)據(jù)庫系統(tǒng)將為你分配一個索引頁,該索引頁在你插入數(shù)據(jù)前一直是空的沸久。此頁此時既是根結(jié)點季眷,也是葉結(jié)點。每當你往表中插入一行數(shù)據(jù)卷胯,數(shù)據(jù)庫系統(tǒng)即向此根結(jié)點中插入一行索引記錄子刮。當根結(jié)點滿時,數(shù)據(jù)庫系統(tǒng)大抵按以下步驟進行分裂:
A)創(chuàng)建兩個兒子結(jié)點
B)將原根結(jié)點中的數(shù)據(jù)近似地拆成兩半窑睁,分別寫入新的兩個兒子結(jié)點
C)根結(jié)點中加上指向兩個兒子結(jié)點的指針
通常狀況下挺峡,由于索引記錄僅包含索引字段值(以及4-9字節(jié)的指針),索引實體比真實的數(shù)據(jù)行要小許多卵慰,索引頁相較數(shù)據(jù)頁來說要密集許多沙郭。一個索引頁可以存儲數(shù)量更多的索引記錄佛呻,這意味著在索引中查找時在I/O上占很大的優(yōu)勢裳朋。

4.索引的類型
http://www.cnblogs.com/aspnethot/articles/1504082.html
http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html
1.聚集索引:在聚集索引中,葉結(jié)點也即數(shù)據(jù)結(jié)點吓著,所有數(shù)據(jù)行的存儲順序與索引的存儲順序一致鲤嫡。
2.非聚集索引:聚集索引是一種稀疏索引,數(shù)據(jù)頁上一級的索引頁存儲的是頁指針绑莺,而不是行指針暖眼。而對于非聚集索引收苏,則是密集索引瘾杭,在數(shù)據(jù)頁的上一級索引頁它為每一個數(shù)據(jù)行存儲一條索引記錄。
3.覆蓋索引:索引覆蓋是這樣一種索引策略:當某一查詢中包含的所需字段皆包含于一個索引中卢佣,此時索引將大大提高查詢性能欺缘。
包含多個字段的索引栋豫,稱為復(fù)合索引。索引最多可以包含31個字段谚殊,索引記錄最大長度為600B丧鸯。如果你在若干個字段上創(chuàng)建了一個復(fù)合的非聚集索引,且你的查詢中所需Select字段及Where,Order By,Group By,Having子句中所涉及的字段都包含在索引中嫩絮,則只搜索索引頁即可滿足查詢丛肢,而不需要訪問數(shù)據(jù)頁。由于非聚集索引的葉結(jié)點包含所有數(shù)據(jù)行中的索引列值剿干,使用這些結(jié)點即可返回真正的數(shù)據(jù)蜂怎,這種情況稱之為“索引覆蓋”。

5.索引的優(yōu)缺點
索引加快數(shù)據(jù)庫的檢索速度
索引降低了插入置尔、刪除杠步、修改等維護任務(wù)的速度
唯一索引可以確保每一行數(shù)據(jù)的唯一性
通過使用索引,可以在查詢的過程中使用優(yōu)化隱藏器,提高系統(tǒng)的性能
索引需要占物理和數(shù)據(jù)空間

6.數(shù)據(jù)庫連接
連接就是將數(shù)據(jù)庫表中的其他列添加進來篮愉,進行添加列的集合運算腐芍,內(nèi)連接和外連接。
inner join:只能選取出同時存在兩張表中的數(shù)據(jù)试躏。
outer join:只要數(shù)據(jù)存儲在某一張表中猪勇,就能讀取出來。選取出單張表中的全部信息颠蕴。
outer join:還涉及一個概念泣刹,就是以哪個表作為連接的主表,
left outer join, right outer join. 外連接中使用left outer join, right outer join 得到的結(jié)果完全相同犀被。

7.數(shù)據(jù)庫左連接椅您,右連接
就是在外連接中,可以指定哪個表作為主表寡键。left outer join right outer join.

8.什么是事務(wù)
事務(wù)(Transaction)是并發(fā)控制的基本單位掀泳。所謂的事務(wù),它是一個操作序列西轩,這些操作要么都執(zhí)行员舵,要么都不執(zhí)行,它是一個不可分割的工作單位藕畔。事務(wù)是數(shù)據(jù)庫維護數(shù)據(jù)一致性的單位马僻,在每個事務(wù)結(jié)束時,都能保持數(shù)據(jù)一致性注服。
事務(wù)的四個特性:ACID
8.1.原子性:是指事務(wù)是不可分割的最小單元韭邓,整個事務(wù)的所有操作要么執(zhí)行成功,要么全部失敗回滾溶弟。
8.2.一致性:是指事務(wù)總是從一個一致性的狀態(tài)轉(zhuǎn)移到另外一個一致性的狀態(tài)女淑。
8.3.隔離性:一個事務(wù)在沒有提交之前,對于其他事務(wù)是不可見的可很,事務(wù)的隔離有四個級別诗力。務(wù)允許多個用戶對同一個數(shù)據(jù)進行并發(fā)訪問,而不破壞數(shù)據(jù)的正確性和完整性我抠。同時苇本,并行事務(wù)的修改必須與其他并行事務(wù)的修改相互獨立。
a.未提交讀:事務(wù)中的修改菜拓,即使沒提交也是可以讀到的瓣窄,這種稱為臟讀。
b.提交讀:一個事務(wù)從開始到提交之前纳鼎,對其他事務(wù)是不可見的俺夕,這個級別有時候也稱為不可重復(fù)讀裳凸,因為兩次執(zhí)行同樣的查詢可能會出現(xiàn)不同的結(jié)果。
c.可重復(fù)讀:該級別保證了多次讀取同樣的記錄時是同一個值劝贸,但是這個級別無法解決幻讀的問題姨谷,幻讀是指,當一個事務(wù)在某個范圍內(nèi)讀取值時映九,然后其他事務(wù)又在這個范圍內(nèi)插入新值梦湘,然后再次讀取這個值的時候,就會出現(xiàn)新的記錄件甥,產(chǎn)生幻行捌议,InooDB通過多版本并發(fā)控制MVCC解決了幻讀問題。MySql的默認隔離級別
d.可串行化:通過每一行數(shù)據(jù)加鎖引有,然后強制事務(wù)串行執(zhí)行瓣颅,最高的隔離級別。
8.4.持久性:一旦事務(wù)提交譬正,則其所做的所有修改就會永久的保持在數(shù)據(jù)庫中宫补。

9.mysql存儲引擎

http://www.reibang.com/p/a957b18ba40d
InnoDB:支持事物處理。

MyISAM:在mysql 5.1之前导帝,MyISAM是默認的存儲引擎守谓,但是MyISAM不支持事務(wù)和行級鎖,崩潰后無法安全恢復(fù)您单,

10.mysql中的鎖策略
當多個查詢需要在同一時刻修改數(shù)據(jù),就會產(chǎn)生并發(fā)控制問題荞雏,數(shù)據(jù)庫管理系統(tǒng)中的并發(fā)控制是指當多個事務(wù)同時存取同一數(shù)據(jù)時虐秦,不破壞事務(wù)的隔離性和統(tǒng)一性及數(shù)據(jù)庫的完整性。共享鎖(讀鎖)凤优,排它鎖(寫鎖)悦陋。
表鎖:是mysql中最基本的鎖策略,并且是開銷最小的所策略筑辨,就是對整張表進行鎖定俺驶。
行級鎖:鎖定表中的某一行,最大程度的支持并發(fā)處理棍辕,但是也帶來最大的鎖開銷暮现,InnoDB支持行級鎖
多版本并發(fā)控制MVCC:MySQL中的存儲引擎不僅僅是簡單的行級鎖楚昭,為了提高并發(fā)訪問的性能栖袋,一般都實現(xiàn)了多版本并發(fā)控制,不同的存儲引擎實現(xiàn)MVCC的方式是不同的抚太,典型的有樂觀的并發(fā)控制和悲觀的并發(fā)控制塘幅。
MVCC是行級鎖的一個變種昔案,但是在很多情況下避免了加鎖操作,因此開銷更低电媳,但是大多數(shù)都實現(xiàn)了非阻塞的讀操作踏揣,寫操作也是鎖定必要的行。
InnoDB中MVCC的實現(xiàn):InnoDB是通過在每行記錄的后邊添加兩個隱藏列來實現(xiàn)的匾乓,一個是保存了行的創(chuàng)建時間呼伸,一個保存了行的過期時間,存儲的不是時間值钝尸,而是系統(tǒng)的版本號括享,沒開始一個新的事務(wù),系統(tǒng)版本號都會自動遞增珍促。
可重復(fù)讀隔離級別下铃辖,MVCC是具體如何操作的
SELECT
InnoDB會根據(jù)以下兩個條件檢查每行記錄:
a.只查找版本號早于當前事務(wù)的版本號的行,這樣可以保證事務(wù)讀取的行猪叙,要么是事務(wù)開始之前存在的娇斩,要么是事務(wù)自身插入或修改過的。
b.行的刪除版本號要么未定義穴翩,要么大于當前的事務(wù)版本號犬第,這可以確保讀取到事務(wù)的行,在讀取之前不會被刪除芒帕。
INSERT:
InnoDB為新插入的每一行保存當前系統(tǒng)版本號作為行版本號歉嗓。
保存這兩個版本號,使得讀操作都可以不用加鎖背蟆,不足之處需要額外的存儲空間鉴分,MVCC只在提交讀和可重復(fù)讀的隔離級別下工作。

11.數(shù)據(jù)庫范式
第一范式:字段是最小的單元带膀,不可再分志珍。
第二范式:滿足第一范式,而且表中的其他字段必須依賴于主鍵垛叨。
第三范式:滿足第二范式伦糯,非主鍵外的所有字段必須互補依賴。

12.范式和反范式的優(yōu)缺點
范式化的優(yōu)點
a.范式化的更新操作比反范式要快嗽元。
b.當數(shù)據(jù)較好的范式化時敛纲,沒有重復(fù)數(shù)據(jù)。
c.范式化的表通常更小还棱,更容易放在內(nèi)存中载慈,所以執(zhí)行操作會更快。
d.很少有多余的數(shù)據(jù)意味著檢索列表時更少需要DISTINCT和GROUP BY語句珍手。
范式化的缺點
范式化的數(shù)據(jù)庫表办铡,在查詢時通常需要關(guān)聯(lián)辞做。
反范式化的優(yōu)點
a.避免關(guān)系表查詢。
反范式化的缺點
數(shù)據(jù)冗余寡具。

13.連接池原理秤茅,樂觀鎖,悲觀鎖
http://www.open-open.com/lib/view/open1452046967245.html
a.數(shù)據(jù)庫連接池和java線程池原理相同童叠,都是預(yù)定義一些線程框喳,等待連接,通過設(shè)置參數(shù)控制線程數(shù)量厦坛,這樣避免頻繁的啟動和關(guān)閉線程和無限制的創(chuàng)建線程所帶來的系統(tǒng)開銷五垮,實現(xiàn)原理,使用阻塞隊列來實現(xiàn)杜秸。設(shè)置corePoolSize maxPoolSize放仗。

b.樂觀鎖(樂觀并發(fā)控制)
它假設(shè)多用戶并發(fā)的事務(wù)在處理時不會彼此互相影響,各事務(wù)能夠在不產(chǎn)生鎖的情況下處理各自影響的那部分數(shù)據(jù)撬碟。在提交數(shù)據(jù)更新之前诞挨,每個事務(wù)會先檢查在該事務(wù)讀取數(shù)據(jù)后,有沒有其他事務(wù)又修改了該數(shù)據(jù)呢蛤。如果其他事務(wù)有更新的話惶傻,正在提交的事務(wù)會進行回滾。
樂觀鎖( Optimistic Locking ) 相對悲觀鎖而言其障,樂觀鎖假設(shè)認為數(shù)據(jù)一般情況下不會造成沖突银室,所以在數(shù)據(jù)進行提交更新的時候,才會正式對數(shù)據(jù)的沖突與否進行檢測静秆,如果發(fā)現(xiàn)沖突了粮揉,則讓返回用戶錯誤的信息,讓用戶決定如何去做抚笔。

c.悲觀鎖(悲觀并發(fā)控制)
如果一個事務(wù)執(zhí)行的操作都某行數(shù)據(jù)應(yīng)用了鎖,那只有當這個事務(wù)把鎖釋放侨拦,其他事務(wù)才能夠執(zhí)行與該鎖沖突的操作殊橙。悲觀并發(fā)控制主要用于數(shù)據(jù)爭用激烈的環(huán)境,以及發(fā)生并發(fā)沖突時使用鎖保護數(shù)據(jù)的成本要低于回滾事務(wù)的成本的環(huán)境中狱从。
悲觀鎖操作流程:先加鎖膨蛮,在操作,然后釋放鎖季研。
悲觀鎖的優(yōu)缺點
悲觀并發(fā)控制實際上是“先取鎖再訪問”的保守策略敞葛,為數(shù)據(jù)處理的安全提供了保證。但是在效率方面与涡,處理加鎖的機制會讓數(shù)據(jù)庫產(chǎn)生額外的開銷惹谐,還有增加產(chǎn)生死鎖的機會持偏;另外,在只讀型事務(wù)處理中由于不會產(chǎn)生沖突氨肌,也沒必要使用鎖鸿秆,這樣做只能增加系統(tǒng)負載;還有會降低了并行性怎囚,一個事務(wù)如果鎖定了某行數(shù)據(jù)卿叽,其他事務(wù)就必須等待該事務(wù)處理完才可以處理那行數(shù)。

14.sql注入 如何預(yù)防
a.sql注入:用戶輸入的數(shù)據(jù)恳守,未經(jīng)檢測考婴,變成了sql語句的一部分,造成意外的結(jié)果輸出催烘。
b.避免sql注入:避免數(shù)據(jù)變成代碼被執(zhí)行沥阱,對sql語句進行預(yù)編譯和查詢參數(shù)綁定,在SQL語句中放置占位符'?'颗圣,然后將帶有占位符的SQL語句傳給數(shù)據(jù)庫編譯喳钟,執(zhí)行的時候才將用戶輸入的數(shù)據(jù)作為執(zhí)行的參數(shù)傳給用戶。這樣的操作不僅使得SQL語句在書寫的時候不再需要拼接在岂,看起來也更直接奔则,而且用戶輸入的數(shù)據(jù)也沒有機會被送到數(shù)據(jù)庫的SQL解釋器被編譯執(zhí)行,也不會越權(quán)變成代碼蔽午。

15.sql性能優(yōu)化---查詢性能優(yōu)化
1.建立索引易茬,優(yōu)化查詢,InnoDB---聚集索引(主鍵及老,葉子節(jié)點存儲數(shù)據(jù)值) + 二級索引 (葉子節(jié)點存儲主鍵值+需要二次查詢) + 覆蓋索引(當索引包含全部數(shù)據(jù)時)這樣對于二級索引就只需要一次查詢抽莱,就快了很多。
MyISAM 存儲引擎和InnoDB存儲數(shù)據(jù)結(jié)構(gòu)不相同骄恶。
B-TREE索引適用于
2.高性能索引策略
獨立的列:索引不能作為表達式的一部分
當索引很長時食铐,可以考慮把一部分作為索引
盡量不要查詢過多的數(shù)據(jù),不要查詢過多的行僧鲁。

16.redis存儲結(jié)構(gòu)

17.慢查詢
MySQL的慢查詢?nèi)罩臼荕ySQL提供的一種日志記錄虐呻,它用來記錄在MySQL中響應(yīng)時間超過閥值的語句,具體指運行時間超過long_query_time值的SQL寞秃,則會被記錄到慢查詢?nèi)罩局姓宓稹ong_query_time的默認值為10,意思是運行10S以上的語句春寿。默認情況下朗涩,Mysql數(shù)據(jù)庫并不啟動慢查詢?nèi)罩荆枰覀兪謩觼碓O(shè)置這個參數(shù)绑改,當然谢床,如果不是調(diào)優(yōu)需要的話兄一,一般不建議啟動該參數(shù),因為開啟慢查詢?nèi)罩緯蚨嗷蛏賻硪欢ǖ男阅苡绊懹┿病B樵內(nèi)罩局С謱⑷罩居涗泴懭胛募仓С謱⑷罩居涗泴懭霐?shù)據(jù)庫表。

18.InnoDB間隙鎖
間隙鎖就是鎖住索引記錄之間的間隙的鎖覆履,MYSQL用REPEATABLE READ作為默認的事務(wù)隔離級別蹋盆,所以它需要鎖定索引記錄和間隙記錄,去解決幻讀和基于語句的復(fù)制的一致性硝全。如果你的應(yīng)用能夠處理幻讀并且二進制登記為行格式栖雾,把隔離級別改成READ COMMITTED將幫助你避免所有的這些額外鎖。最后一個建議伟众,堅持使用短事務(wù)析藕。

19.存儲過程
存儲過程就是預(yù)編譯的sql語句,
1.存儲過程就是預(yù)編譯的sql代碼塊凳厢,執(zhí)行效率高账胧,給存儲過程取個名字,在別處直接調(diào)用就好了
2.一個存儲過程替代大量T_SQL語句 先紫,可以降低網(wǎng)絡(luò)通信量治泥,提高通信速率
3.可以一定程度上確保數(shù)據(jù)安全

20.Mysql分布式事務(wù)
分布式事務(wù)提交分為兩個階段。
第一階段:準備階段遮精,第二階段:提交或者回滾居夹。
第一階段的準備階段用來詢問每個節(jié)點是否能提交,只有當?shù)谝浑A段準備好后第二階段的commit才能進行本冲,
分布式事務(wù)需要解決的問題就是保證數(shù)據(jù)庫之間的數(shù)據(jù)一致性問題
prepare預(yù)提交和commit確認提交
步驟如下:
分別獲取到A准脂、B、C數(shù)據(jù)庫的連接并開啟事物檬洞;
分別在A狸膏、B、C數(shù)據(jù)庫上執(zhí)行SQL添怔;
分別在A环戈、B、C數(shù)據(jù)庫上執(zhí)行事務(wù)預(yù)提交澎灸;
分別在A、B遮晚、C數(shù)據(jù)庫上執(zhí)行事務(wù)確認提交性昭;

21.Mysql復(fù)制
1.復(fù)制解決的基本問題就是讓一臺服務(wù)器的數(shù)據(jù)和其他服務(wù)器數(shù)據(jù)保持一致,一臺主庫數(shù)據(jù)可以同步到多臺備庫上县遣。
2.Mysql提供兩種復(fù)制方式糜颠,一種是基于行的復(fù)制和另一種是基于語句的復(fù)制汹族,都是通過在主庫上記錄二進制日志,然后在備庫上重放日志的方式來實現(xiàn)異步數(shù)據(jù)的復(fù)制其兴。
3.復(fù)制解決的問題
數(shù)據(jù)分布顶瞒,負載均衡備份元旬,高可用性和故障切換榴徐,MySql升級測試
4.復(fù)制的步驟
1.在主庫上把數(shù)據(jù)更改記錄到二進制日志中。
2.備庫將主庫上的日志復(fù)制到自己的中繼日志中匀归。
3.備庫讀取中繼日志事件坑资,將其重放到備庫上。

22.負載均衡
http請求負載均衡穆端,mysql請求負載均衡袱贮,
負載均衡算法:
隨機,輪詢体啰,最少連接數(shù)攒巍,哈希等算法。

23.分布式
1.Web服務(wù)器集群Session一致性的問題
第一種:Session Sticky
對于同一個會話的請求都發(fā)生在同一個web服務(wù)器荒勇,這種方案需要負載均衡器能夠根據(jù)每次的會話來標識請求柒莉。
缺點:如果一個web服務(wù)器宕機或者重啟,如果有登錄狀態(tài)枕屉,則需要用戶重新登錄常柄。
對于負載均衡器內(nèi)存的消耗也更大。
第二種:Session Replication
就是在web服務(wù)器之間同步會話數(shù)據(jù)搀擂,通過同步就會保證每臺web服務(wù)器的會話一致西潘。
缺點:同步session造成網(wǎng)絡(luò)開銷,只要session數(shù)據(jù)有變化哨颂,則會發(fā)生web服務(wù)器之間同步喷市,seesion對于web服務(wù)器占用內(nèi)存過多。
第三種:Session數(shù)據(jù)集中存儲
把session數(shù)據(jù)集中存儲起來威恼,然后不同web服務(wù)器來這個地方取數(shù)據(jù)品姓。
缺點:網(wǎng)絡(luò)讀取存在不穩(wěn)性。
第四種:Cookie based
通過cookie來傳遞session數(shù)據(jù)箫措。
缺點:cookie長度限制腹备;安全性;帶寬消耗斤蔓;性能影響植酥。

2.數(shù)據(jù)庫讀寫壓力大,讀寫分離
選擇數(shù)據(jù)庫作為讀庫,就涉及到數(shù)據(jù)庫之間數(shù)據(jù)復(fù)制問題友驮。

3.加速數(shù)據(jù)讀取的利器----緩存
數(shù)據(jù)緩存和頁面緩存漂羊。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市卸留,隨后出現(xiàn)的幾起案子走越,更是在濱河造成了極大的恐慌,老刑警劉巖耻瑟,帶你破解...
    沈念sama閱讀 221,695評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件旨指,死亡現(xiàn)場離奇詭異,居然都是意外死亡匆赃,警方通過查閱死者的電腦和手機淤毛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,569評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來算柳,“玉大人低淡,你說我怎么就攤上這事∷蚕睿” “怎么了蔗蹋?”我有些...
    開封第一講書人閱讀 168,130評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長囱淋。 經(jīng)常有香客問我猪杭,道長,這世上最難降的妖魔是什么妥衣? 我笑而不...
    開封第一講書人閱讀 59,648評論 1 297
  • 正文 為了忘掉前任皂吮,我火速辦了婚禮,結(jié)果婚禮上税手,老公的妹妹穿的比我還像新娘蜂筹。我一直安慰自己,他們只是感情好芦倒,可當我...
    茶點故事閱讀 68,655評論 6 397
  • 文/花漫 我一把揭開白布艺挪。 她就那樣靜靜地躺著,像睡著了一般兵扬。 火紅的嫁衣襯著肌膚如雪麻裳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,268評論 1 309
  • 那天器钟,我揣著相機與錄音津坑,去河邊找鬼。 笑死傲霸,一個胖子當著我的面吹牛国瓮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 40,835評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼乃摹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了跟衅?” 一聲冷哼從身側(cè)響起孵睬,我...
    開封第一講書人閱讀 39,740評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎伶跷,沒想到半個月后掰读,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,286評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡叭莫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,375評論 3 340
  • 正文 我和宋清朗相戀三年蹈集,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雇初。...
    茶點故事閱讀 40,505評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡拢肆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出靖诗,到底是詐尸還是另有隱情郭怪,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布刊橘,位于F島的核電站鄙才,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏促绵。R本人自食惡果不足惜攒庵,卻給世界環(huán)境...
    茶點故事閱讀 41,873評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望败晴。 院中可真熱鬧浓冒,春花似錦、人聲如沸位衩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,357評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糖驴。三九已至僚祷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贮缕,已是汗流浹背辙谜。 一陣腳步聲響...
    開封第一講書人閱讀 33,466評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留感昼,地道東北人装哆。 一個月前我還...
    沈念sama閱讀 48,921評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蜕琴。 傳聞我的和親對象是個殘疾皇子萍桌,可洞房花燭夜當晚...
    茶點故事閱讀 45,515評論 2 359

推薦閱讀更多精彩內(nèi)容