PIXNET Logo登入

虎搞瞎搞

跳到主文

瞎搞攻城師經歷隨記~

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 11月 06 週六 201012:47
  • WITH (NOLOCK) table hint equivalent for MySQL


I don’t remember how many times I was asked about an equivalent term of the infamous “NOLOCK” hint for mysql database server, hence I thought it was worth to write about it here. “WITH (NOLOCK)” is a transaction isolation levels that defines how data is available during an update, or with other words it is a property that defines at what point changes made by an update operation will become available in a row, table or database to other processes.


The official SQL standard defines four isolation levels:


READ COMMITTED
READ UNCOMMITTED
REPEATABLE READ
SERIALIZABLE


Oracle, SQL Server and MySQL support isolation levels. During an operation, the database engine places certain locks to maintain data integrity. Different types of locking apply to different databases (Oracle vs. MySQL), or table types (eg. MyISAM vs. InnoDB).

When WITH (NOLOCK) is used with SQL Server, the statement does not place a lock nor honor exclusive locks on table. The MySQL equivalent is READ UNCOMMITTED, also known as “dirty read” because it is the lowest level of isolation. If we specify a table hint then it will override the current default isolation level. MySQL default isolation level is REPEATABLE READ which means locks will be placed for each operation, but multiple connections can read data concurrently.


SQL Server WITH (NOLOCK) looks like this:


SELECT * FROM TABLE WITH (nolock)


To achieve the same with MySQL, we change the session isolation mode using the SET SESSIONcommand.


SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;
SELECT * FROM TABLE_NAME ;
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ ;


This statement will work similar to WITH (NOLOCK) i.e READ UNCOMMITTED data. We can also set the isolation level for all connections globally:


SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED ;


In addition, two system variables related to isolation also level exist in MySQL server:


SELECT @@global.tx_isolation; (global isolation level)
SELECT @@tx_isolation; (session isolation level)


Or set the isolation level inside a transaction:


SET TRANSACTION ISOLATION LEVEL REPEATABLE READ
GO


 


引用:http://articles.itecsoftware.com/mysql/with-nolock-table-hint-equivalent-for-mysql


(繼續閱讀...)
文章標籤

Empty 發表在 痞客邦 留言(0) 人氣(132)

  • 個人分類:MySQL
▲top
  • 11月 06 週六 201012:46
  • HTTP Error 404.17 - PHP on IIS7 under 64bit Vista


If you're getting...



"HTTP Error 404.17 - Not Found - The requested content appears to be script and will not be served by the static file handler."



...on Vista while trying to get PHP working under IIS7 with the standard ISAPI "php5isapi.dll" ask yourself, are you running 64-bit? That ISAPI DLL is a 32-bit DLL, so you'll have to either change your default Application Pool to enable 32-bit, or preferably create a separate 32-bit AppPool for your PHP Application.


Right click on the Application Pool and select "Advanced Settings" then "Enable 32-bit Applications."


Advanced Settings


At this point, you're all set with the standard ISAPI PHP stuff. 


phpinfo() - Windows Internet Explorer


Even better, consider using the FastCGI for IIS component. I'll do a screencast on that soon.


 


引用:http://www.hanselman.com/blog/HTTPError40417PHPOnIIS7Under64bitVista.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed:+ScottHanselman+(Scott+Hanselman+-+ComputerZen.com)


(繼續閱讀...)
文章標籤

Empty 發表在 痞客邦 留言(0) 人氣(88)

  • 個人分類:MySQL
▲top
  • 11月 06 週六 201012:45
  • MySQL 基本操作語法

net start mysql
啟動 MySQL

查詢資料庫、資料表、欄位等資訊
mysqlshow [
-h ipAddress] -u user_name -p
mysqlshow -u user_name@ipAddress -p

列出所有資料庫

mysqlshow -u user_name -p db_name
列出該 database_name 所有資料表

mysqlshow -u user_name -p db_name table_name
列出該 database_name 裡 table_name 資料表裡的欄位

mysqlshow -u user_name -p db_name table_name field_name
列出該 database_name 裡 table_name 的 field_name 的欄位資訊

更改密碼
mysqladmin password 'new_password'
更改目前系統登入使用者的密碼

於資料庫中導入執行sql script 檔
mysql db_name < sql_filename.sql

與 MySQL 連線
mysql [
-h ipAddress] -u user_name -ppassword
mysql [-h ipAddress] -u user_name -p


切換使用資料庫 database_name
mysql> USE db_name

mysql> SELECT DATABASE();
列出目前預設的資料庫名稱

mysql> SHOW DATABASES;
列出所有資料庫

mysql> SHOW DATABASES LIKE 'my%';
列出所有資料庫名稱為 my 開頭的

mysql> SHOW TABLES FROM db_name [LIKE ...];
列出該資料庫所有資料表名稱

mysql> SHOW COLUMNS FROM table_name [LIKE ...];
mysql> SHOW COLUMNS FROM table_name FROM db_name  [LIKE ...];
mysql> SHOW FIELDS FROM table_name [LIKE ...];
mysql> DESCRIBE table_name ;
mysql> EXPLAIN table_name ;
列出該資料表所有欄位名稱

mysql> SHOW INDEX FROM table_name [LIKE ...];
mysql> SHOW INDEX FROM table_name FROM db_name  [LIKE ...];
mysql> SHOW KEY FROM table_name [LIKE ...];
列出該資料表所有索引資訊

mysql> SHOW TABLE STATUS;
mysql> SHOW TABLE STATUS FROM db_name  [LIKE ...];列出資料表的相關資訊

mysql> SHOW VARIABLES [LIKE ...];
顯示 MySQL 相關參數設定

mysql> SHOW VARIABLES LIKE '%character%' ;
顯示資料庫語系設定資訊

mysql> SHOW PROCESSLIST;
列出與 MySQL 連線的 threads 狀態

mysql> SHOW STATUS;
列出與 MySQL 目前的狀態

當進行資料表檢查或修補時,鎖定資料表可確保資料表的安全
(READ:唯讀狀態、WRITE:無法寫入也無法讀取)
mysql> LOCK TABLE table_name READ;
mysql> FLUSH TABLES;
鎖定資料表 

mysql> UNLOCK TABLE;
資料表解除鎖定 
(繼續閱讀...)
文章標籤

Empty 發表在 痞客邦 留言(0) 人氣(16)

  • 個人分類:MySQL
▲top
  • 11月 04 週四 201020:56
  • MySQL error (errno: 144)



前一陣子,因為突然停電的關係,電腦突然關機,再重新啟動後,進入 phpMyadmin 中時,就看到 plog 某些資料表在使用中,無法做更新,試圖修改時,會出現這樣的訊息:



Can't open file: 'xxx.MYI'. (errno: 144)



解決方法



myisamchk -f xxx.MYI 就可以修復了。





(繼續閱讀...)
文章標籤

Empty 發表在 痞客邦 留言(0) 人氣(181)

  • 個人分類:MySQL
▲top
  • 9月 08 週三 201019:49
  • MYSQL 的regex 語法

正則表達式(regex)是定義復雜查詢的一個強有力的工具。 
這裡是一個簡單的資料,它忽略了一些詳細的信息。 
正則表達式定義了一個字符串的規則。最簡單的正則表達式不包含任何保留字。例如, 
正則表達式hello只和字符串“hello”匹配。 
一般的正則表達式使用了某些特殊的結構,所以它能匹配更多的字符串。例如,正則 
表達式hello|word既能匹配字符串“hello”也能匹配字符串“word”。 
舉一個更復雜一點的例子,正則表達式B[an]*s可以匹配字符串“Bananas”、“Baaaaa 
s” 
、“Bs”以及其他任何以B開頭以s結尾的字符串,中間可以包括任意個a和任意個n的組 
合。 
一個正則表達式中的可以使用以下保留字 
^ 
所匹配的字符串以面的字符串開頭 
mysql> select "fonfo" REGEXP "^fo$";      -> 0(表示不匹配) 
mysql> select "fofo" REGEXP "^fo";       -> 1(表示匹配) 
$ 
所匹配的字符串以前面的字符串結尾 
mysql> select "fono" REGEXP "^fono$";     -> 1(表示匹配) 
mysql> select "fono" REGEXP "^fo$";      -> 0(表示不匹配) 
..  
匹配任何字符(包括新行) 
mysql> select "fofo" REGEXP "^f.*";       -> 1(表示匹配) 
mysql> select "fonfo" REGEXP "^f.*";      -> 1(表示匹配) 
a* 
匹配任意多個a(包括空串) 
mysql> select "Ban" REGEXP "^Ba*n";       -> 1(表示匹配) 
mysql> select "Baaan" REGEXP "^Ba*n";      -> 1(表示匹配) 
mysql> select "Bn" REGEXP "^Ba*n";       -> 1(表示匹配) 
a+ 
匹配任意多個a(不包括空串) 
mysql> select "Ban" REGEXP "^Ba+n";       -> 1(表示匹配) 
mysql> select "Bn" REGEXP "^Ba+n";       -> 0(表示不匹配) 
a? 
匹配一個或零個a 
mysql> select "Bn" REGEXP "^Ba?n";       -> 1(表示匹配) 
mysql> select "Ban" REGEXP "^Ba?n";       -> 1(表示匹配) 
mysql> select "Baan" REGEXP "^Ba?n";      -> 0(表示不匹配) 
de|abc 
匹配de或abc 
mysql> select "pi" REGEXP "pi|apa";       -> 1(表示匹配) 
mysql> select "axe" REGEXP "pi|apa";      -> 0(表示不匹配) 
mysql> select "apa" REGEXP "pi|apa";      -> 1(表示匹配) 
mysql> select "apa" REGEXP "^(pi|apa)$";    -> 1(表示匹配) 
mysql> select "pi" REGEXP "^(pi|apa)$";     -> 1(表示匹配) 
mysql> select "pix" REGEXP "^(pi|apa)$";    -> 0(表示不匹配) 
(abc)* 
匹配任意多個abc(包括空串) 
mysql> select "pi" REGEXP "^(pi)*$";      -> 1(表示匹配) 
mysql> select "pip" REGEXP "^(pi)*$";      -> 0(表示不匹配) 
mysql> select "pipi" REGEXP "^(pi)*$";     -> 1(表示匹配) 
{1} 
{2,3} 
這是一個更全面的方法,它可以實現前面好幾種保留字的功能 
a* 
可以寫成a{0,} 
a+ 
可以寫成a{1,} 
a? 
可以寫成a{0,1} 
在{}內只有一個整型參數i,表示字符只能出現i次;在{}內有一個整型參數i, 
面跟一個“,”,表示字符可以出現i次或i次以上;在{}內只有一個整型參數i, 
面跟一個“,”,再跟一個整型參數j,表示字符只能出現i次以上,j次以下 
(包括i次和j次)。其中的整型參數必須大等0,小等 RE_DUP_MAX(默認是25 
5)。 
如果有兩個參數,第二個必須大等第一個 
[a-dX] 
匹配“a”、“b”、“c”、“d”或“X” 
[^a-dX] 
匹配除“a”、“b”、“c”、“d”、“X”以外的任何字符。 
“[”、“]”必須成對使用 
mysql> select "aXbc" REGEXP "[a-dXYZ]";     -> 1(表示匹配) 
mysql> select "aXbc" REGEXP "^[a-dXYZ]$";    -> 0(表示不匹配) 
mysql> select "aXbc" REGEXP "^[a-dXYZ]+$";   -> 1(表示匹配) 
mysql> select "aXbc" REGEXP "^[^a-dXYZ]+$";   -> 0(表示不匹配) 
mysql> select "gheis" REGEXP "^[^a-dXYZ]+$";  -> 1(表示匹配) 
mysql> select "gheisa" REGEXP "^[^a-dXYZ]+$";  -> 0(表示不匹配) 
------------------------------------------------------------ 
[[.characters.]] 
表示比較元素的順序。在括號內的字符順序是唯一的。但是括號中可以包含通配符, 
所以他能匹配更多的字符。舉例來說:正則表達式[[.ch.]]*c匹配chchcc的前五個字符 
。 
[=character_class=] 
表示相等的類,可以代替類中其他相等的元素,包括它自己。例如,如果o和(+)是 
一個相等的類的成員,那[[=o=]]、[[=(+)=]]和[o(+)]是完全等價的。 
[:character_class:] 
在括號裡面,在[:和:]中間是字符類的名字,可以代表屬這個類的所有字符。 
字符類的名字有: alnum、digit、punct、alpha、graph、space、blank、lower、uppe 
r、cntrl、print和xdigit 
mysql> select "justalnums" REGEXP "[[:alnum:]]+";    -> 1(表示匹配) 
mysql> select "!!" REGEXP "[[:alnum:]]+";        -> 0(表示不匹配) 
[[:<:]] 
[[:>:]] 
分別匹配一個單詞開頭和結尾的空的字符串,這個單詞開頭和結尾都不是包含在alnum中 
的字符也不能是下劃線。 
mysql> select "a word a" REGEXP "[[:<:]]word[[:>:]]";   -> 1(表示匹配) 
mysql> select "a xword a" REGEXP "[[:<:]]word[[:>:]]";   -> 0(表示不匹配) 
mysql> select "weeknights" REGEXP "^(wee|week)(knights|nights)$"; -> 1(表示 
匹配) (
http://www.fanqiang.com) 
 
轉錄至:http://fanqiang.chinaunix.net/a2/b1/20010625/210400669_b.html
(繼續閱讀...)
文章標籤

Empty 發表在 痞客邦 留言(0) 人氣(131)

  • 個人分類:MySQL
▲top
  • 5月 30 週日 201023:47
  • Mysql 索引分析與優化


一、什麼是索引?
索引用來快速地尋找那些具有特定值的記錄,所有MySQL索引都以B-樹的形式保存。如果沒有索引,執行查詢時MySQL必須從第一個記錄開始掃瞄整個表 的所有記錄,直至找到符合要求的記錄。表裡面的記錄數量越多,這個操作的代價就越高。如果作為搜索條件的列上已經創建了索引,MySQL無需掃瞄任何記錄 即可迅速得到目標記錄所在的位置。如果表有1000個記錄,通過索引查找記錄至少要比順序掃瞄記錄快100倍。



對於索引中的每一項,MySQL在內部為它保存一個數據文件中實際記錄所在位置的「指針」。因此,如果我們要查找name等於「Mike」記錄的 peopleid(SQL命令為「SELECT peopleid FROM people WHERE name='Mike';」),MySQL能夠在name的索引中查找「Mike」值,然後直接轉到數據文件中相應的 行,準確地返回該行的peopleid(999)。在這個過程中,MySQL只需處理一個行就可以返回結果。如果沒有「name」列的索引,MySQL要 掃瞄數據文件中的所有記錄,即1000個記錄!顯然,需要MySQL處理的記錄數量越少,則它完成任務的速度就越快。
二、索引的類型
MySQL提供多種索引類型供選擇:
普通索引
這是最基本的索引類型,而且它沒有唯一性之類的限制。普通索引可以通過以下幾種方式創建:
創建索引,例如CREATE INDEX <索引的名字> ON tablename (列的列表);
修改表,例如ALTER TABLE tablename ADD INDEX [索引的名字] (列的列表);
創建表的時候指定索引,例如CREATE TABLE tablename ( [...], INDEX [索引的名字] (列的列表) );
唯一性索引
這種索引和前面的「普通索引」基本相同,但有一個區別:索引列的所有值都只能出現一次,即必須唯一。唯一性索引可以用以下幾種方式創建:
創建索引,例如CREATE UNIQUE INDEX <索引的名字> ON tablename (列的列表);
修改表,例如ALTER TABLE tablename ADD UNIQUE [索引的名字] (列的列表);
創建表的時候指定索引,例如CREATE TABLE tablename ( [...], UNIQUE [索引的名字] (列的列表) );
主鍵
主鍵是一種唯一性索引,但它必須指定為「PRIMARY KEY」。如果你曾經用過AUTO_INCREMENT類型的列,你可能已經熟悉主鍵之類的概念了。主鍵一般在創建表的時候指定,例如「CREATE TABLE tablename ( [...], PRIMARY KEY (列的列表) ); 」。但是,我們也可以通過修改表的方式加入主鍵,例如「ALTER TABLE tablename ADD PRIMARY KEY (列的列表); 」。每個表只能有一個主鍵。
全文索引
MySQL從3.23.23版開始支持全文索引和全文檢索。在MySQL中,全文索引的索引類型為FULLTEXT。全文索引可以在VARCHAR或者 TEXT類型的列上創建。它可以通過CREATE TABLE命令創建,也可以通過ALTER TABLE或CREATE INDEX命令創建。對於大規模的數據集,通過ALTER TABLE(或者CREATE INDEX)命令創建全文索引要比把記錄插入帶有全文索引的空表更快。本文下面的討論不再涉及全文索引,要瞭解更多信息,請參見MySQL documentation。
三、單列索引與多列索引
索引可以是單列索引,也可以是多列索引。
四、最左前綴
多列索引還有另外一個優點,它通過稱為最左前綴(Leftmost Prefixing)的概念體現出來。
五、選擇索引列
在性能優化過程中,選擇在哪些列上創建索引是最重要的步驟之一。
六、分析索引效率
現在我們已經知道了一些如何選擇索引列的知識,但還無法判斷哪一個最有效。MySQL提供了一個內建的SQL命令幫助我們完成這個任務,這就是EXPLAIN命令。EXPLAIN命令的一般語法是:EXPLAIN 。
「對於每一種與另一個表中記錄的組合,MySQL將從當前的表讀取所有帶有匹配索引值的記錄。如果連接操作只使用鍵的最左前綴,或者如果鍵不是 UNIQUE或PRIMARY KEY類型(換句話說,如果連接操作不能根據鍵值選擇出唯一行),則MySQL使用ref連接類型。如果連接操作所用的鍵只匹配少量的記錄,則ref是一 種好的連接類型。」
如果EXPLAIN顯示連接類型是「ALL」,而且你並不想從表裡面選擇出大多數記錄,那麼MySQL的操作效率將非常低,因為它要掃瞄整個表。你可以加入更多的索引來解決這個問題。預知更多信息,請參見MySQL的手冊說明。
possible_keys:
可能可以利用的索引的名字。這裡的索引名字是創建索引時指定的索引暱稱;如果索引沒有暱稱,則默認顯示的是索引中第一個列的名字(在本例中,它是「firstname」)。默認索引名字的含義往往不是很明顯。
Key:
它顯示了MySQL實際使用的索引的名字。如果它為空(或NULL),則MySQL不使用索引。
key_len:
索引中被使用部分的長度,以字節計。在本例中,key_len是102,其中firstname占50字節,lastname占50字節,age占2字節。如果MySQL只使用索引中的firstname部分,則key_len將是50。
ref:
它顯示的是列的名字(或單詞「const」),MySQL將根據這些列來選擇行。在本例中,MySQL根據三個常量選擇行。
rows:
MySQL所認為的它在找到正確的結果之前必須掃瞄的記錄數。顯然,這裡最理想的數字就是1。
Extra:
這裡可能出現釵h不同的選項,其中大多數將對查詢產生負面影響。在本例中,MySQL只是提醒我們它將用WHERE子句限制搜索結果集。
七、索引的缺點
到目前為止,我們討論的都是索引的優點。事實上,索引也是有缺點的。
首先,索引要佔用磁盤空間。通常情況下,這個問題不是很突出。但是,如果你創建每一種可能列組合的索引,索引文件體積的增長速度將遠遠超過數據文件。如果你有一個很大的表,索引文件的大小可能達到操作系統允釭熙怳j文件限制。
第二,對於需要寫入數據的操作,比如DELETE、UPDATE以及INSERT操作,索引會降低它們的速度。這是因為MySQL不僅要把改動數據寫入數據文件,而且它還要把這些改動寫入索引文件。
【結語】在大型數據庫中,索引是提高速度的一個關鍵因素。不管表的結構是多麼簡單,一次500000行的表掃瞄操作無論如何不會快。如果你的網站上也有這 種大規模的表,那麼你確實應該花些時間去分析可以採用哪些索引,並考慮是否可以改寫查詢以優化應用。要瞭解更多信息,請參見MySQL manual。另外注意,本文假定你所使用的MySQL是3.23版,部分查詢不能在3.22版MySQL上執行。


轉錄至:http://zeroplex.blogspot.com/2006/09/mysql.html

(繼續閱讀...)
文章標籤

Empty 發表在 痞客邦 留言(0) 人氣(9)

  • 個人分類:MySQL
▲top
1

工商

文章搜尋

個人資訊

Empty
暱稱:
Empty
分類:
數位生活
好友:
累積中
地區:

熱門文章

  • (5,898)[ubuntu]當tw.archive.ubuntu.com連不上時,解決方法。
  • (5,896)[ubuntu] 自動釋放cache 記憶體
  • (5,001)[C#]系統顏色表
  • (3,044)跨主機連線-查詢語法
  • (662)[VB] ASP.NET DataSet 判斷欄位是否存在、是否有值
  • (376)購買Visual Studio 2012 價格表
  • (132)WITH (NOLOCK) table hint equivalent for MySQL
  • (83)藤井樹【流浪的終點】 - 當冬夜漸暖
  • (40)15138删除对于用户失败,数据库主体在该数据库中拥有架构,无法删除
  • (38)拷貝後刪除批次檔

文章分類

toggle 瀏覽 (2)
  • Chrome (1)
  • FireFox (0)
toggle 虛擬 (3)
  • Hyper-V (0)
  • citrix XEN (0)
  • VMWARE (1)
toggle 程式 (14)
  • HTML (0)
  • JAVA (0)
  • VB.NET (2)
  • CSS (0)
  • C# (17)
  • PHP (1)
  • Perl (0)
  • ASP.NET (6)
  • xcode (1)
  • JavaScript (3)
  • ASP (2)
  • Arduino (0)
  • 批次檔語法 (3)
  • Visual Studio (5)
toggle DB (3)
  • MySQL (6)
  • Microsoft SQL Server (5)
  • Oracle (2)
toggle OS (3)
  • FreeBSD (0)
  • LINUX (9)
  • windows (14)
toggle 閱讀 (2)
  • 參考文章 (1)
  • 好書推薦 (0)
toggle 思考 (2)
  • 日記 (11)
  • 心情記事 (9)
  • WordPress (18)
  • JavaScript (0)
  • 未分類文章 (1)

最新文章

  • IIS 相關設定
  • 更新SSL
  • [C#]Entity Framework 5 增加TimeOut時間
  • [C#]當WebService 需要多載時的方法,需要注意MessageName
  • [C#] 如何讓Linq + entity framework 可以達到with(nolock)
  • [分享]網站分享,想要學程式的人有福了
  • [分享]GOLiFE Care-X HR 智慧悠遊心率手環慘狀
  • [分享]htaccess在Apach與Nginx寫法並不相同
  • [C#].NET最簡單PostgreSQL連線方式
  • [Windows]批次檔相關指令

最新留言

  • [21/03/22] 2e2 於文章「[windows] 刪除 PuTTY 的...」留言:
    請問一個笨問題 win10 ssh有兩個以前亂設定的公私鑰檔...
  • [11/04/27] 喵空 >^o^< 於文章「當網域內的電腦出現【此工作站與主要網域間...」留言:
    今天剛裝好的Win7Pro也發生相同狀況,重新加入網域也不...
  • [11/03/28] nat 於文章「變更 ChartFX 7.0 的輸出路徑...」留言:
    <p>請麻煩指出原始來源,不要只是全文複製。</p>...
  • [10/03/24] chunhsing 於文章「天使錯了~...」留言:
    <p>你好你好~</p> <p>我也是看到這篇很感人才轉貼的...
  • [10/02/06] 阿睿 於文章「家長控制軟體?...」留言:
    <p>是英文...我要中文.<img src="http:/...
  • [09/12/13] thundersha 於文章「Ubuntu - KVM基本套件安裝(G...」留言:
    <p>不好意思我是原著, 可以麻煩你加個原始文章引用連結嗎 ...
  • [09/05/11] chunhsing 於文章「你還好嗎?...」留言:
    <p><img src="http://s.blog.xui...
  • [09/04/07] Cherry 於文章「你還好嗎?...」留言:
    <p>我也會看MSN的對話ㄟ~特別是跟在乎的人的對話</p>...
  • [09/02/06] 新手駕駛 於文章「ASP.NET 網頁的基本組成 ...」留言:
    <p>親愛的大大 請教您一個問題:</p> <p>我安裝了I...
  • [07/06/19] 阿豪^_^ 於文章「asp join陣列轉換字串函數...」留言:
    好,有沒有php的,加油哦!︿_︿哈囉!我是阿豪,喜歡部落格...

誰來我家