100k记录mysql数据库导入后出现错误

f45qwnt8  于 2021-06-21  发布在  Mysql
关注(0)|答案(0)|浏览(277)

我有一个数据库问题,当它是巨大的。我来描述一下:它非常简单——由第三方应用程序创建,只有一个表中的字段:“page”和“data”——关于页面(url)和数据。因此,它在5000页左右的低页面上工作得非常完美,但在100k页上却可以处理错误。当我打开站点上的索引页或第2页、第3页时-它会正确打开,但如果我打开55321页-我有404错误。
我的配置快100了к-第db页:带ssd a的vpsтв nginx+php+fpm在上面。内存正常,cpu正常。
1可能是导入后的索引,我必须等待吗?
2或者我必须手动创建索引?有人能帮忙指挥吗。
三。我的数据库是这样开始的:

  1. CREATE TABLE `domain_com` (
  2. `page` varchar(200) NOT NULL,
  3. `data` text,
  4. PRIMARY KEY (`page`)
  5. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

是否需要切换到myisam引擎来改进索引?
===从示例页面添加了一个代码(在我的例子中是product.php)====

  1. <?
  2. $n = $_GET["n"];
  3. if (isset($_GET["ctgfolder"])) {
  4. $ctgfolder = $_GET["ctgfolder"];
  5. } else {
  6. $ctgfolder = '';
  7. }
  8. if (strlen($ctgfolder) > 0) {
  9. $fn = "$ctgfolder/product-$n.txt";
  10. } else {
  11. $fn = "product-$n.txt";
  12. }
  13. if (file_exists($fn) == true) {
  14. $file = fopen($fn, 'r');
  15. $tx = fread($file, filesize($fn));
  16. fclose($file);
  17. } else {
  18. if (file_exists("dbinfo.php") == true) {
  19. include "dbinfo.php";
  20. $site_encoding = 'utf8';
  21. $msconnect = mysql_connect($mshost, $msuser, $mspassword);
  22. mysql_select_db($msname, $msconnect);
  23. mysql_query("SET NAMES 'utf8'");
  24. if ($site_encoding != 'utf8') {
  25. mysql_query("SET character_set_client = $site_encoding");
  26. mysql_query("SET character_set_connection = $site_encoding");
  27. mysql_query("SET character_set_results = $site_encoding");
  28. }
  29. $res = mysql_query("SELECT * FROM `domain_com` WHERE page='$fn'");
  30. if ($res) {
  31. if ($row = mysql_fetch_array($res)) {
  32. $tx = $row['data'];
  33. $file = fopen($fn, 'w');
  34. fwrite($file, $tx);
  35. fclose($file);
  36. }
  37. }
  38. mysql_close($msconnect);
  39. }
  40. }
  41. $k = 0;
  42. $p = strpos($tx, '{#');
  43. while ($p !== false) {
  44. $p2 = strpos($tx, '#}', $p);
  45. $im = substr($tx, $p + 2, $p2 - ($p + 2));
  46. $k++;
  47. //--------------
  48. if (file_exists("dmcr.php")) {
  49. include "dmcr.php";
  50. } else {
  51. include "../dmcr.php";
  52. }
  53. //-------------
  54. $mcr[$k] = $im;
  55. $p = strpos($tx, '{#', $p2 + 2);
  56. }
  57. if (file_exists("template_page.php")) {
  58. include "template_page.php";
  59. } else {
  60. include "../template_page.php";
  61. }
  62. ?>

这里是index.php======

  1. $fn="index_page.txt";
  2. if(file_exists($fn)==true){
  3. $file=fopen($fn,'r');
  4. $tx=fread($file,filesize($fn));
  5. fclose($file);
  6. } else {
  7. if(file_exists("dbinfo.php")==true){
  8. include "dbinfo.php";
  9. $site_encoding='utf8';
  10. $msconnect = mysql_connect($mshost, $msuser, $mspassword);
  11. mysql_select_db($msname, $msconnect);
  12. mysql_query("SET NAMES 'utf8'");
  13. if($site_encoding!='utf8'){
  14. mysql_query("SET character_set_client = $site_encoding");
  15. mysql_query("SET character_set_connection = $site_encoding");
  16. mysql_query("SET character_set_results = $site_encoding");
  17. }
  18. $res=mysql_query("SELECT * FROM `domain_com` WHERE page='$fn'");
  19. if($res){
  20. if($row=mysql_fetch_array($res)){
  21. $tx=$row['data'];
  22. $file=fopen($fn,'w');
  23. fwrite($file,$tx);
  24. fclose($file);
  25. }
  26. }
  27. mysql_close($msconnect);
  28. }
  29. }
  30. $k=0;
  31. $p=strpos($tx,'{#');
  32. while($p!==false){
  33. $p2=strpos($tx,'#}',$p);
  34. $im=substr($tx,$p+2,$p2-($p+2));
  35. $k++;
  36. //--------------
  37. include "dmcr.php";
  38. //-------------
  39. $mcr[$k]=$im;
  40. $p=strpos($tx,'{#',$p2+2);
  41. }
  42. include "template_page.php";
  43. ?>

===ctg.php=====

  1. <?
  2. $c = $_GET["c"];
  3. $p = $_GET["p"];
  4. if (strlen($c) == 0) {
  5. $c = 1;
  6. }
  7. if (strlen($p) == 0 or is_numeric($p) == false) {
  8. $p = 1;
  9. }
  10. $fn = "ctg-$c-$p.txt";
  11. if (file_exists($fn) == true) {
  12. $file = fopen($fn, 'r');
  13. $tx = fread($file, filesize($fn));
  14. fclose($file);
  15. } else {
  16. if (file_exists("dbinfo.php") == true) {
  17. include "dbinfo.php";
  18. $site_encoding = 'utf8';
  19. $msconnect = mysql_connect($mshost, $msuser, $mspassword);
  20. mysql_select_db($msname, $msconnect);
  21. mysql_query("SET NAMES 'utf8'");
  22. if ($site_encoding != 'utf8') {
  23. mysql_query("SET character_set_client = $site_encoding");
  24. mysql_query("SET character_set_connection = $site_encoding");
  25. mysql_query("SET character_set_results = $site_encoding");
  26. }
  27. $res = mysql_query("SELECT * FROM `domain_com` WHERE page='$fn'");
  28. if ($res) {
  29. if ($row = mysql_fetch_array($res)) {
  30. $tx = $row['data'];
  31. $file = fopen($fn, 'w');
  32. fwrite($file, $tx);
  33. fclose($file);
  34. }
  35. }
  36. mysql_close($msconnect);
  37. }
  38. }
  39. $k = 0;
  40. $p = strpos($tx, '{#');
  41. while ($p !== false) {
  42. $p2 = strpos($tx, '#}', $p);
  43. $im = substr($tx, $p + 2, $p2 - ($p + 2));
  44. $k++;
  45. //--------------
  46. if (file_exists("dmcr.php")) {
  47. include "dmcr.php";
  48. } else {
  49. include "../dmcr.php";
  50. }
  51. //-------------
  52. $mcr[$k] = $im;
  53. $p = strpos($tx, '{#', $p2 + 2);
  54. }
  55. include "template_page.php";
  56. ?>

===在模板页面中,我们有一个带有includes的template.php=====

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题