微軟的Excel設(shè)置單元格行數(shù)默認(rèn)是6萬(wàn)行rows,相對(duì)的講其實(shí)當(dāng)我們超過(guò)1萬(wàn)行的時(shí)候已經(jīng)是大數(shù)據(jù)的導(dǎo)出。
創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比宣威網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式宣威網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋宣威地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
好比:有客戶10000人,平均每人每天產(chǎn)生10條活動(dòng)記錄,要導(dǎo)出上周所有的客戶活動(dòng)記錄: 10000*10*7=700000
估計(jì)看70萬(wàn)行的Excel這個(gè)人會(huì)瘋掉的,我們的建議是分批次導(dǎo)出,按時(shí)間導(dǎo)出到不同的excel
下面是一個(gè)PHPExcel官方的Demo(已修改過(guò))
復(fù)制代碼
define('EOL', 'br /');
$objPHPExcel = new \app\extensions\PHPExcel\PHPExcel();
ini_set("memory_limit", "1024M"); // 設(shè)置php可使用內(nèi)存
$cacheMethod = \PHPExcel_CachedObjectStorageFactory::cache_in_memory_gzip;
if (!\PHPExcel_Settings::setCacheStorageMethod($cacheMethod)) {
die($cacheMethod . " 緩存方法不可用" . EOL);
}
echo date('H:i:s'), " 當(dāng)前使用的緩存方法是: ", $cacheMethod, " 方式", EOL;
echo date('H:i:s'), " 開(kāi)始設(shè)置文檔屬性", EOL;
$objPHPExcel-getProperties()-setCreator("Maarten Balliauw")
-setLastModifiedBy("Maarten Balliauw")
-setTitle("Office 2007 XLSX Test Document")
-setSubject("Office 2007 XLSX Test Document")
具體的還有很多寫不下,我是在后盾人看的教學(xué)視頻無(wú)意中學(xué)到的,正好解答給你希望能幫到你
1、WEB基礎(chǔ)
要知道網(wǎng)站是什么東西,所使用的協(xié)議是怎么工作的,怎樣把網(wǎng)站放在服務(wù)器上。
2、HTMLphp
HTMLphp是嵌入在HTML的語(yǔ)言,所以HTML是必須的??梢杂肏TML寫出簡(jiǎn)單的靜態(tài)的頁(yè)面,放在本機(jī)的服務(wù)器上看看效果。
3、DIV+CSS
能夠用DIV+CSS布局做出漂亮的精美靜態(tài)網(wǎng)頁(yè)。
4、php基礎(chǔ)
學(xué)習(xí)php基礎(chǔ),如php語(yǔ)法,php變量,php流程控制,php函數(shù),php數(shù)組應(yīng)用,php字符串處理,php常用模塊,php文件處理,php動(dòng)態(tài)圖像處理,會(huì)話控制等,就可以把靜態(tài)頁(yè)面變成動(dòng)態(tài)的。這個(gè)階段比較枯燥,主要是記憶,必須能夠熟練應(yīng)用。
5、MySQL
網(wǎng)站往往包含大量的信息,這些信息不可能都放在程序(php文件)中,需要MySQL來(lái)儲(chǔ)存大量的數(shù)據(jù)信息。
6、Javascript
掌握了以上內(nèi)容就可以搭建一個(gè)php基礎(chǔ)網(wǎng)站,但是還需要靠Javascript來(lái)完成網(wǎng)站的特效和信息驗(yàn)證等。
7、php高級(jí)
作為一個(gè)可以上線運(yùn)營(yíng)的全功能網(wǎng)站,還要繼續(xù)學(xué)習(xí)php高級(jí)知識(shí),如php面向?qū)ο螅瑪?shù)據(jù)抽象層PDO,MEMCACHE,高級(jí)SESSION,php的設(shè)計(jì)模式,MVC,smarty模板,主流框架的解讀等內(nèi)容,這個(gè)階段需要多讀優(yōu)質(zhì)的開(kāi)源代碼,多寫代碼。
8、Linux
正如大家所熟知的php較佳的搭配是LAMP(Linux+Apache+MySQL+Php)或LNMP(Linux+Nginx+MySQL+Php),那么顯然在Linux系統(tǒng)下的php網(wǎng)站比在Windows下兼容性好,基于此我們需要知道在Linux下搭建php環(huán)境的方法以及Linux的日常管理命令,以便我們網(wǎng)站的日常管理運(yùn)營(yíng)。
9、項(xiàng)目相關(guān)
這個(gè)階段首先需要了解項(xiàng)目開(kāi)發(fā)流程,需求分析,程序設(shè)計(jì)說(shuō)明書(shū),數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū),編碼規(guī)范,大流量/大數(shù)據(jù)架構(gòu),MYSQL深度優(yōu)化,全文索引等內(nèi)容。
目前為止學(xué)到這個(gè)階段,已經(jīng)可以算是php小牛了,要繼續(xù)向php大牛進(jìn)發(fā)就需要參與開(kāi)發(fā)大型網(wǎng)站項(xiàng)目,以此練手。北大青鳥(niǎo)認(rèn)為參與大項(xiàng)目開(kāi)發(fā),實(shí)踐為主。通過(guò)這階段的學(xué)習(xí)就可以自主做企業(yè)網(wǎng)站、論壇、網(wǎng)頁(yè)游戲等。
使用緩存,比如memcache,redis,因?yàn)樗鼈兪窃趦?nèi)存中運(yùn)行,所以處理數(shù)據(jù),返回?cái)?shù)據(jù)非???,所以可以應(yīng)對(duì)高并發(fā)。
2.增加帶寬和機(jī)器性能,1M的帶寬同時(shí)處理的流量肯定有限,所以在資源允許的情況下,大帶寬,多核cpu,高內(nèi)存是一個(gè)解決方案。
3.分布式,讓多個(gè)訪問(wèn)分到不同的機(jī)器上去處理,每個(gè)機(jī)器處理的請(qǐng)求就相對(duì)減少了。
簡(jiǎn)單說(shuō)些常用技術(shù),負(fù)載均衡,限流,加速器等
大數(shù)據(jù)的話可以進(jìn)行以下操作:
減少對(duì)數(shù)據(jù)庫(kù)的讀取,也就是減少調(diào)用數(shù)據(jù)庫(kù),
進(jìn)行數(shù)據(jù)緩存,
利用數(shù)據(jù)庫(kù)的自身優(yōu)化技術(shù),如索引等
精確查詢條件,有利于提高查找速度
在使用PhpMyAdmin的時(shí)候經(jīng)常用到數(shù)據(jù)的導(dǎo)入和導(dǎo)出(Export/Import),但是在導(dǎo)入大數(shù)據(jù)的時(shí)候由于php上傳文件的限制和腳本響應(yīng)時(shí)間的限制,導(dǎo)致phpMyAdmin無(wú)法導(dǎo)入大數(shù)據(jù)。很多時(shí)候都是由于文件過(guò)大,從本地瀏覽上傳導(dǎo)入,容易中斷失敗,有沒(méi)有更好的方法呢?
方法:
在phpMyAdmin的目錄下,找到根目錄的config.inc.php文件,
打開(kāi)config.inc.php文件,查找$cfg['UploadDir'],這個(gè)參數(shù)就是設(shè)定導(dǎo)入文件存放的目錄,這里把值設(shè)定為:ImportSQLFile。
在phpMyAdmin目錄下,建立以ImportSQLFile命名的文件夾,
把我們需要導(dǎo)入的數(shù)據(jù)文件,放到ImportSQLFile文件夾下面,非常簡(jiǎn)單,
登入phpMyAdmin,選擇需要導(dǎo)入的數(shù)據(jù),點(diǎn)擊導(dǎo)航條上面的“導(dǎo)入”按鈕,
選中“從網(wǎng)站服務(wù)器上傳文件夾ImportSQLFile/中選擇:”選項(xiàng),并需要導(dǎo)入的數(shù)據(jù)文件,
最后點(diǎn)擊“執(zhí)行”,即可導(dǎo)入成功。
注意事項(xiàng)
如果在config.inc.php文件,沒(méi)有找到$cfg['UploadDir'],可以自己在文件中添加上去即可。
ini_set('max_execution_time','0');
$pdo
=
new
PDO("mysql:host=localhost;dbname=test","root","123456");
$sql
=
"insert
into
test(name,age,state,created_time)
values";
for($i=0;
$i100000;
$i++){
$sql
.="('zhangsan',21,1,'2015-09-17')";
}
$sql
=
substr($sql,0,strlen($sql)-1);
var_dump($sql);
if($pdo
-
exec($sql)){
echo
"插入成功!";
echo
$pdo
-
lastinsertid();
}
試試吧。10萬(wàn)條1分鐘多,我覺(jué)得還行