/*通常當我們涉及到大資料高併發處理的時候,如果不注意效能問題我們的應用或**是會卡卡的乃至崩潰,如果有遠見大資料高併發應該從一開始就被重視,
那麼,今天來舉個大資料栗子,首先我們得搭建測試環境,
實驗環境,windows7,apache,php,mysql,
建立資料表(資料表可以自己設計,插入資料**也可以自己設計,表結構可以再簡單,資料也可以相同,myisam用以下php**執行要幾分鐘,innodb感覺半個鐘)*/
create table `user` (
`id` int(10) unsigned not null auto_increment,
`name` varchar(30) not null,
`xuhao` int(10) unsigned not null,
`suijishu` int(10) unsigned not null,
`chat` varchar(30) not null,
primary key (`id`),
key `index_name` (`name`)
) engine=myisam default charset=utf8;
/*資料表有了,執行以下**建立大資料環境*/
<?php
$servername = 「localhost」;
$username = 「root」;
$password = 「root」;
$dbname = 「sqltest」;
function getrandchar($length)
return $str;
}// 建立連線
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢測連線
if ($conn->connect_error)
$len = 100000;//本人執行的是100000,可以在後面再加個0試試(百萬級資料或執行10次),反正我是分開執行了4,5次
for($i=1;$i<=$len;$i++) else
}$conn->close();
echo 『』;
?>
/*首先來說說分頁上的技巧,如果每頁y條記錄,設第n頁
做法一:
select * from table limit (n-1)*y,y;
以下是每頁5條記錄的截圖,很好,執行時間都很小
圖1但問題來了,當分頁分頁越到後面,截圖如下
如第8001頁,就是(80001-1)*5
select * from table limit 400000,5;
截圖如下
圖2執行時間為1s以上,如果再加上高併發,資料庫伺服器就要崩掉了
所以做法二:
select * from table where id > (n-1)*y limit y;
同樣是第80001頁,
圖3very good,執行時間為0,
那麼,我們來看看索引,乙個未新增索引的字段反覆執同一語句行時間在0.14s以上
圖4name欄位已新增索引,首次0.3s,再次0s
圖5、6
總之,大家可以自己搭建乙個百萬級、千萬級資料,自己慢慢虐就是了,實踐出真理
《程式設計之美》學而思 金剛坐飛機
金剛坐飛機 2015 11 2 flyfish 引用自 程式設計之美 國外有乙個諺語 問 體重800 磅的大猩猩在什麼地方坐?答 它愛在哪兒坐就在哪兒坐。這句諺語一般用來形容一些 強人 並不遵守大家公認的規則,所以要對其行為保持警 惕。現在有一班飛機將要起飛,乘客們正準備按機票號碼 1,2,3,n ...
2013程式設計之美資格賽之大資料測試( )
傳話遊戲大資料通過 長方形wa。原因是求長方形數量時,用到了四數連乘,哦,其結果就是超出int型表示的範圍,wa是必然的。樹上的三角形tle。這個也是在情理之內,由於我連樹的構造都不太會實現,自己想的一種方法構造了一種類樹 就是類似的樹 時間會比較長,超時也在情理之中。哦。說一下結果,題目1題目2 ...
賽思互動 大資料能給企業帶來什麼
在以往的文章中,我們不止一次的提到過資料對企業的重要性。對現代企業來說,資料的意義不亞於第一次工業革命後的煤炭 鋼鐵,或是現代工業的電力 石油甚至自動化技術。事實上,對於資料的深度挖掘和應用正是工業4.0的核心。在具體應用中,廣告自動化購買 使用者畫像這些基於大資料的企業級應用都已經獲得了廣泛的認同...