1:較頻繁作為查詢、排序、分組和聯(lián)合操作的字段創(chuàng)建索引。
10多年的富陽(yáng)網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整富陽(yáng)建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)建站從事“富陽(yáng)網(wǎng)站設(shè)計(jì)”,“富陽(yáng)網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
2:唯一性太差的字段不宜使用索引。
3:使用唯一索引。
4:使用短索引(若對(duì)字符串索引,盡量指定一個(gè)前綴長(zhǎng)度)。
5:利用左前綴(復(fù)合索引可以起幾個(gè)索引的作用,可利用索引最左邊的列集來匹配行,稱左前綴)
6:不要過度索引(每個(gè)索引會(huì)占用額外的磁盤空間,并降低寫操作的能力,修改數(shù)據(jù)索引也跟著更新)
7:更新非常頻繁的字段不宜創(chuàng)建索引。
8:不會(huì)出現(xiàn)在where字句中的字段無(wú)需索引。
錯(cuò)誤信息說你的參數(shù) $qa_id_array 不是數(shù)組類型,可能SQL查詢結(jié)果為空或者遇到了錯(cuò)誤,你可以在9行前面增加下面的調(diào)試語(yǔ)句看看結(jié)果:
echo 'pre';
print_r( $qa_id_array );
echo '/pre';
補(bǔ)充:
我把程序全部給你修改了可以不,你那些變量命名我不習(xí)慣。
而且你$qa_id = array_values($qa_id_array);之后就當(dāng)$qa_id作為字符串使用是錯(cuò)誤的。
修改后的程序如下:
?php
include?("./mysqlconn.php");
mysql_connect($mysqlserver,$mysqluser,$mysqlpassword)
or?die("Could?not?connect:?"?.?mysql_error());
mysql_select_db('pmwebsys');
$sql?=?"SELECT?*?FROM?col_qarecord";
if?($res=mysql_query($sql)){
$row?=?mysql_fetch_array($res);
$qa_id?=?join(',',?$row);
$sql="UPDATE?col_qarecord?SET?qa_id?=?'$qa_id'";
if?(mysql_query($sql))?echo?'修改成功';
else??echo?"SQL:$sqlbr\n錯(cuò)誤:".mysql_error();
}else?echo?"SQL:$sqlbr\n錯(cuò)誤:".mysql_error();
?
補(bǔ)充:
join錯(cuò)誤是因?yàn)閟elect語(yǔ)句沒有返回結(jié)果,你的col_qarecord表可能是空的吧,一條記錄也沒有。
補(bǔ)充:
數(shù)據(jù)庫(kù)記錄都清空了,你還select個(gè)什么呢?!還update個(gè)什么呢?!
MYSQL的索引是在數(shù)據(jù)庫(kù)任何修改的時(shí)候(刪除、修改、添加)自動(dòng)重建的,你如果是需要修改自動(dòng)編碼字段的值,請(qǐng)?jiān)趐hpmyadmin里面直接修改即可,我們這兩天調(diào)試的這個(gè)破程序沒有任何效果,除了浪費(fèi)時(shí)間以外。
補(bǔ)充:
Data truncated for column 'qa_id' at row 1表示你UPDATE給字段qa_id的內(nèi)容超過了字段定義的長(zhǎng)度。
補(bǔ)充:
int只能存放一個(gè)整數(shù),你粘貼輸出的SQL就知道了。
補(bǔ)充:
我感覺你都明白了的,你知道你還有什么問題,能夠明確的提個(gè)為什么嗎
你這個(gè)問題我有些沒看懂。。。php或者其他程序語(yǔ)言,通過連接數(shù)據(jù)庫(kù)執(zhí)行sql語(yǔ)句存入想要存入的數(shù)據(jù),索引是建表時(shí)在數(shù)據(jù)庫(kù)添加的,當(dāng)然也可以通過php來實(shí)現(xiàn)。
你說的是數(shù)據(jù)庫(kù)索引?
如果是數(shù)據(jù)庫(kù)索引沒有強(qiáng)制的方法。
數(shù)據(jù)結(jié)構(gòu)。php缺少索引層就是缺少一個(gè)排序的數(shù)據(jù)結(jié)構(gòu),索引是指數(shù)據(jù)庫(kù)管理系統(tǒng)中一個(gè)排序的數(shù)據(jù)結(jié)構(gòu),并用以協(xié)助快速查詢、 更新數(shù)據(jù)庫(kù)表中數(shù)據(jù)。
無(wú)論數(shù)據(jù)庫(kù)或系統(tǒng)都是 先生成索引,然后從索引中讀取....
有更新就往索引文件中更新就行....
如linux或window中第一次搜索都很慢,建立索引之后就閃搜了...
100萬(wàn)條數(shù)據(jù)也不算多,把這個(gè)大索引再分成100份或更多,1萬(wàn)條一份..
1 0---1W
2 1w---2w
3 2w--3w
....
如果你覺得1萬(wàn)條記錄讀起來還吃力的話,那就分多一點(diǎn)....
然后把索引放都放到cache里,把主索引做成hash表排列....
說白了就把它放到數(shù)據(jù)庫(kù)里(nosql)