我有一个数据库问题,当它是巨大的。我来描述一下:它非常简单——由第三方应用程序创建,只有一个表中的字段:“page”和“data”——关于页面(url)和数据。因此,它在5000页左右的低页面上工作得非常完美,但在100k页上却可以处理错误。当我打开站点上的索引页或第2页、第3页时-它会正确打开,但如果我打开55321页-我有404错误。
我的配置快100了к-第db页:带ssd a的vpsтв nginx+php+fpm在上面。内存正常,cpu正常。
1可能是导入后的索引,我必须等待吗?
2或者我必须手动创建索引?有人能帮忙指挥吗。
三。我的数据库是这样开始的:
CREATE TABLE `domain_com` (
`page` varchar(200) NOT NULL,
`data` text,
PRIMARY KEY (`page`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
是否需要切换到myisam引擎来改进索引?
===从示例页面添加了一个代码(在我的例子中是product.php)====
<?
$n = $_GET["n"];
if (isset($_GET["ctgfolder"])) {
$ctgfolder = $_GET["ctgfolder"];
} else {
$ctgfolder = '';
}
if (strlen($ctgfolder) > 0) {
$fn = "$ctgfolder/product-$n.txt";
} else {
$fn = "product-$n.txt";
}
if (file_exists($fn) == true) {
$file = fopen($fn, 'r');
$tx = fread($file, filesize($fn));
fclose($file);
} else {
if (file_exists("dbinfo.php") == true) {
include "dbinfo.php";
$site_encoding = 'utf8';
$msconnect = mysql_connect($mshost, $msuser, $mspassword);
mysql_select_db($msname, $msconnect);
mysql_query("SET NAMES 'utf8'");
if ($site_encoding != 'utf8') {
mysql_query("SET character_set_client = $site_encoding");
mysql_query("SET character_set_connection = $site_encoding");
mysql_query("SET character_set_results = $site_encoding");
}
$res = mysql_query("SELECT * FROM `domain_com` WHERE page='$fn'");
if ($res) {
if ($row = mysql_fetch_array($res)) {
$tx = $row['data'];
$file = fopen($fn, 'w');
fwrite($file, $tx);
fclose($file);
}
}
mysql_close($msconnect);
}
}
$k = 0;
$p = strpos($tx, '{#');
while ($p !== false) {
$p2 = strpos($tx, '#}', $p);
$im = substr($tx, $p + 2, $p2 - ($p + 2));
$k++;
//--------------
if (file_exists("dmcr.php")) {
include "dmcr.php";
} else {
include "../dmcr.php";
}
//-------------
$mcr[$k] = $im;
$p = strpos($tx, '{#', $p2 + 2);
}
if (file_exists("template_page.php")) {
include "template_page.php";
} else {
include "../template_page.php";
}
?>
这里是index.php======
$fn="index_page.txt";
if(file_exists($fn)==true){
$file=fopen($fn,'r');
$tx=fread($file,filesize($fn));
fclose($file);
} else {
if(file_exists("dbinfo.php")==true){
include "dbinfo.php";
$site_encoding='utf8';
$msconnect = mysql_connect($mshost, $msuser, $mspassword);
mysql_select_db($msname, $msconnect);
mysql_query("SET NAMES 'utf8'");
if($site_encoding!='utf8'){
mysql_query("SET character_set_client = $site_encoding");
mysql_query("SET character_set_connection = $site_encoding");
mysql_query("SET character_set_results = $site_encoding");
}
$res=mysql_query("SELECT * FROM `domain_com` WHERE page='$fn'");
if($res){
if($row=mysql_fetch_array($res)){
$tx=$row['data'];
$file=fopen($fn,'w');
fwrite($file,$tx);
fclose($file);
}
}
mysql_close($msconnect);
}
}
$k=0;
$p=strpos($tx,'{#');
while($p!==false){
$p2=strpos($tx,'#}',$p);
$im=substr($tx,$p+2,$p2-($p+2));
$k++;
//--------------
include "dmcr.php";
//-------------
$mcr[$k]=$im;
$p=strpos($tx,'{#',$p2+2);
}
include "template_page.php";
?>
===ctg.php=====
<?
$c = $_GET["c"];
$p = $_GET["p"];
if (strlen($c) == 0) {
$c = 1;
}
if (strlen($p) == 0 or is_numeric($p) == false) {
$p = 1;
}
$fn = "ctg-$c-$p.txt";
if (file_exists($fn) == true) {
$file = fopen($fn, 'r');
$tx = fread($file, filesize($fn));
fclose($file);
} else {
if (file_exists("dbinfo.php") == true) {
include "dbinfo.php";
$site_encoding = 'utf8';
$msconnect = mysql_connect($mshost, $msuser, $mspassword);
mysql_select_db($msname, $msconnect);
mysql_query("SET NAMES 'utf8'");
if ($site_encoding != 'utf8') {
mysql_query("SET character_set_client = $site_encoding");
mysql_query("SET character_set_connection = $site_encoding");
mysql_query("SET character_set_results = $site_encoding");
}
$res = mysql_query("SELECT * FROM `domain_com` WHERE page='$fn'");
if ($res) {
if ($row = mysql_fetch_array($res)) {
$tx = $row['data'];
$file = fopen($fn, 'w');
fwrite($file, $tx);
fclose($file);
}
}
mysql_close($msconnect);
}
}
$k = 0;
$p = strpos($tx, '{#');
while ($p !== false) {
$p2 = strpos($tx, '#}', $p);
$im = substr($tx, $p + 2, $p2 - ($p + 2));
$k++;
//--------------
if (file_exists("dmcr.php")) {
include "dmcr.php";
} else {
include "../dmcr.php";
}
//-------------
$mcr[$k] = $im;
$p = strpos($tx, '{#', $p2 + 2);
}
include "template_page.php";
?>
===在模板页面中,我们有一个带有includes的template.php=====
暂无答案!
目前还没有任何答案,快来回答吧!