Rumah pembangunan bahagian belakang tutorial php php程序优化求提议,执行速度太慢

php程序优化求提议,执行速度太慢

Jun 13, 2016 pm 12:45 PM
array file mysql nbsp

php程序优化求建议,执行速度太慢

本帖最后由 zhuzhaodan 于 2013-06-12 18:06:26 编辑 现有四级词库4000单词txt文档,格式如下
accent n.口音,腔调;重音 
acceptable a.可接受的,合意的 
acceptance n.接受,验收;承认 
access n.接近;通道,入口 
accessory n.同谋,从犯;附件 
accident n.意外的;事故 
accidental a.偶然的;非本质的 

现要把英汉分离后分别插入mySQL数据库内,代码如下
<?php<br />
header("Content-type: text/html; charset=utf-8");<br />
$file = dirname(__FILE__)."/siji.txt";  //四级词库文件<br />
if(!file_exists($file)){<br />
	echo 'Not exist';<br />
}<br />
else {<br />
	$a = array();//存放英汉对照对儿的数组<br />
	$lines = file($file);//读取txt到数组,一行为一个英汉对照对<br />
	foreach ($lines as $k=>$v){<br />
		if(preg_match('/[a-zA-Z]/',$v))//有的行是标题之类的,不是英汉对照,判断后不加到数组a里面<br />
			$a[$k] = trim($v);//因为有换行符,去掉<br />
	}<br />
	$b = array();//2维数组,$b[n][0]为英文,$b[n][1]为释义<br />
	foreach($a as $k=>$v){//把a数组的英汉分离,填充到b数组的第二维内<br />
		preg_match('/([a-zA-Z]*)\s(.*)/',$v,$matches);//正则英汉分离,matches[1]是英文,matches[2]是释义中文<br />
		$b[$k][0] = $matches[1];<br />
		$b[$k][1] = $matches[2];<br />
	}<br />
	$dsn = 'mysql:host=localhost;dbname=test1';<br />
	$db = new PDO($dsn,'root','',array(PDO::MYSQL_ATTR_INIT_COMMAND => 'set names utf8'));<br />
	foreach($b as $k=>$v){//插入数据库<br />
		$db->exec("INSERT INTO siji (en,cn) VALUES ('$v[0]','$v[1]')");//数据库3个字段,id,en是英文,cn是中文<br />
	}<br />
		<br />
}
Salin selepas log masuk


程序执行时间2分钟左右,求优化建议~我自己感觉正则那部分应该优化不了多少,主要感觉插进数据库这里费时太多,各位高人有方法请不吝赐教,现在程序执行完毕需要120秒,希望最终优化后能到10秒内,谢谢,4级词库一共才4000对词组,120秒太长了

最终效果图:


高人们,因为我比较新手,所以不管从代码上,还是整体思路上都使这个程序运行缓慢,求优化建议,特别是数据库这里,还有数组这里,或者有更好的办法。100分在这里,谢谢!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Geospatial Laravel: Pengoptimuman peta interaktif dan sejumlah besar data Geospatial Laravel: Pengoptimuman peta interaktif dan sejumlah besar data Apr 08, 2025 pm 12:24 PM

Cecair memproses 7 juta rekod dan membuat peta interaktif dengan teknologi geospatial. Artikel ini meneroka cara memproses lebih dari 7 juta rekod menggunakan Laravel dan MySQL dan mengubahnya menjadi visualisasi peta interaktif. Keperluan Projek Cabaran Awal: Ekstrak Wawasan berharga menggunakan 7 juta rekod dalam pangkalan data MySQL. Ramai orang mula -mula mempertimbangkan bahasa pengaturcaraan, tetapi mengabaikan pangkalan data itu sendiri: Bolehkah ia memenuhi keperluan? Adakah penghijrahan data atau pelarasan struktur diperlukan? Bolehkah MySQL menahan beban data yang besar? Analisis awal: Penapis utama dan sifat perlu dikenalpasti. Selepas analisis, didapati bahawa hanya beberapa atribut yang berkaitan dengan penyelesaiannya. Kami mengesahkan kemungkinan penapis dan menetapkan beberapa sekatan untuk mengoptimumkan carian. Carian Peta Berdasarkan Bandar

Cara menyelesaikan masalah kebergantungan yang hilang semasa memasang mysql Cara menyelesaikan masalah kebergantungan yang hilang semasa memasang mysql Apr 08, 2025 pm 12:00 PM

Kegagalan pemasangan MySQL biasanya disebabkan oleh kekurangan ketergantungan. Penyelesaian: 1. Pengurus Pakej Sistem Penggunaan (seperti Linux Apt, Yum atau DNF, Windows Visualc Redistributable) untuk memasang perpustakaan pergantungan yang hilang, seperti sudoaptinstalllibmysqlclient-dev; 2. Berhati -hati semak maklumat ralat dan selesaikan kebergantungan kompleks satu demi satu; 3. Pastikan sumber Pengurus Pakej dikonfigurasi dengan betul dan boleh mengakses rangkaian; 4. Untuk Windows, muat turun dan pasang perpustakaan runtime yang diperlukan. Membangunkan kebiasaan membaca dokumen rasmi dan memanfaatkan enjin carian yang baik dapat menyelesaikan masalah dengan berkesan.

Kurangkan penyimpanan pangkalan data MySQL RDS dengan sifar downtime menggunakan AWS Blue/Green Deployment Kurangkan penyimpanan pangkalan data MySQL RDS dengan sifar downtime menggunakan AWS Blue/Green Deployment Apr 08, 2025 pm 12:42 PM

Jurutera DevOps sering menghadapi cabaran pengoptimuman pangkalan data RDS dan kemas kini, terutamanya dalam situasi beban tinggi, di mana kaedah tradisional terdedah kepada risiko downtime. Artikel ini memperkenalkan strategi penempatan biru/hijau AWS untuk mencapai kemas kini sifar downtime pangkalan data RDS. Katakan selamat tinggal kepada mimpi buruk Downtime Downtime Downtime! Artikel ini akan menerangkan strategi penempatan biru/hijau secara terperinci dan menyediakan langkah -langkah operasi dalam persekitaran AWS untuk membantu anda mengemas kini contoh pangkalan data RDS tanpa menjejaskan ketersediaan perkhidmatan. Penyediaan Pertama, menyelaraskan pasukan pembangunan dan pilih tempoh dengan trafik beban kerja terendah untuk kemas kini. DevOps yang baik mengamalkan nasihat untuk memberitahu pasukan terlebih dahulu. Contoh ini menunjukkan bagaimana untuk mengurangkan ruang penyimpanan contoh pangkalan data dengan sifar downtime menggunakan penggunaan biru/hijau. Anda boleh menggunakan konsol AWSRDS

Cara mengoptimumkan prestasi pangkalan data selepas pemasangan MySQL Cara mengoptimumkan prestasi pangkalan data selepas pemasangan MySQL Apr 08, 2025 am 11:36 AM

Pengoptimuman prestasi MySQL perlu bermula dari tiga aspek: konfigurasi pemasangan, pengindeksan dan pengoptimuman pertanyaan, pemantauan dan penalaan. 1. Selepas pemasangan, anda perlu menyesuaikan fail my.cnf mengikut konfigurasi pelayan, seperti parameter innodb_buffer_pool_size, dan tutup query_cache_size; 2. Buat indeks yang sesuai untuk mengelakkan indeks yang berlebihan, dan mengoptimumkan pernyataan pertanyaan, seperti menggunakan perintah menjelaskan untuk menganalisis pelan pelaksanaan; 3. Gunakan alat pemantauan MySQL sendiri (ShowProcessList, ShowStatus) untuk memantau kesihatan pangkalan data, dan kerap membuat semula dan mengatur pangkalan data. Hanya dengan terus mengoptimumkan langkah -langkah ini, prestasi pangkalan data MySQL diperbaiki.

Cara Menggunakan MySQL Selepas Pemasangan Cara Menggunakan MySQL Selepas Pemasangan Apr 08, 2025 am 11:48 AM

Artikel ini memperkenalkan operasi pangkalan data MySQL. Pertama, anda perlu memasang klien MySQL, seperti MySqlworkbench atau Command Line Client. 1. Gunakan perintah MySQL-Uroot-P untuk menyambung ke pelayan dan log masuk dengan kata laluan akaun root; 2. Gunakan CreateTatabase untuk membuat pangkalan data, dan gunakan Pilih pangkalan data; 3. Gunakan createtable untuk membuat jadual, menentukan medan dan jenis data; 4. Gunakan InsertInto untuk memasukkan data, data pertanyaan, kemas kini data dengan kemas kini, dan padam data dengan padam. Hanya dengan menguasai langkah -langkah ini, belajar menangani masalah biasa dan mengoptimumkan prestasi pangkalan data anda boleh menggunakan MySQL dengan cekap.

Penyelesaian kepada kesilapan yang dilaporkan oleh MySQL pada versi sistem tertentu Penyelesaian kepada kesilapan yang dilaporkan oleh MySQL pada versi sistem tertentu Apr 08, 2025 am 11:54 AM

Penyelesaian kepada ralat pemasangan MySQL adalah: 1. Berhati -hati memeriksa persekitaran sistem untuk memastikan keperluan perpustakaan ketergantungan MySQL dipenuhi. Sistem operasi dan keperluan versi yang berbeza adalah berbeza; 2. Berhati -hati membaca mesej ralat dan mengambil langkah -langkah yang sepadan mengikut arahan (seperti fail perpustakaan yang hilang atau kebenaran yang tidak mencukupi), seperti memasang kebergantungan atau menggunakan arahan sudo; 3 Jika perlu, cuba pasang kod sumber dan periksa dengan teliti log kompilasi, tetapi ini memerlukan pengetahuan dan pengalaman Linux tertentu. Kunci untuk menyelesaikan masalah akhirnya adalah dengan teliti memeriksa persekitaran sistem dan maklumat ralat, dan merujuk kepada dokumen rasmi.

Fail muat turun MySQL rosak dan tidak boleh dipasang. Penyelesaian pembaikan Fail muat turun MySQL rosak dan tidak boleh dipasang. Penyelesaian pembaikan Apr 08, 2025 am 11:21 AM

Fail muat turun mysql adalah korup, apa yang perlu saya lakukan? Malangnya, jika anda memuat turun MySQL, anda boleh menghadapi rasuah fail. Ia benar -benar tidak mudah hari ini! Artikel ini akan bercakap tentang cara menyelesaikan masalah ini supaya semua orang dapat mengelakkan lencongan. Selepas membacanya, anda bukan sahaja boleh membaiki pakej pemasangan MySQL yang rosak, tetapi juga mempunyai pemahaman yang lebih mendalam tentang proses muat turun dan pemasangan untuk mengelakkan terjebak pada masa akan datang. Mari kita bercakap tentang mengapa memuat turun fail rosak. Terdapat banyak sebab untuk ini. Masalah rangkaian adalah pelakunya. Gangguan dalam proses muat turun dan ketidakstabilan dalam rangkaian boleh menyebabkan rasuah fail. Terdapat juga masalah dengan sumber muat turun itu sendiri. Fail pelayan itu sendiri rosak, dan sudah tentu ia juga dipecahkan jika anda memuat turunnya. Di samping itu, pengimbasan "ghairah" yang berlebihan beberapa perisian antivirus juga boleh menyebabkan rasuah fail. Masalah Diagnostik: Tentukan sama ada fail itu benar -benar korup

Cara Melaksanakan Sambungan Jauh Pangkalan Data Selepas Pemasangan MySQL Cara Melaksanakan Sambungan Jauh Pangkalan Data Selepas Pemasangan MySQL Apr 08, 2025 am 11:33 AM

MySQL Remote Connection: Dari mula berputus asa (kesilapan) menjadi mahir dalam banyak kawan yang akan menghadapi masalah sambungan jauh selepas memasang MySQL. Artikel ini tidak mengajar anda "cara untuk menyambung" yang mudah, tetapi meneroka secara mendalam perangkap-perangkap yang tersembunyi di sebalik masalah yang seolah-olah mudah ini dan bagaimana menyelesaikannya dengan anggun dan akhirnya mencapai keadaan "penguasaan" (tentu saja, penguasaan adalah proses pembelajaran yang berterusan). Tujuan: Biarkan anda memahami dengan teliti prinsip -prinsip sambungan jauh MySQL dan menguasai amalan terbaik dalam pelbagai senario untuk mengelakkan jatuh ke dalam perangkap biasa. Selepas membaca artikel ini, anda akan dapat menyelesaikan pelbagai masalah sambungan jauh dan juga mempunyai pemahaman yang lebih mendalam mengenai konfigurasi keselamatan MySQL. Gambaran Keseluruhan: Kami akan bermula dengan konfigurasi MySQL.

See all articles