0

我有一个基于 joomla 1.5.10 的大系统。我正在使用 PHP 5.3.13 和 MySQL 5.1.58 版本。在峰值负载期间,我的系统运行非常缓慢并且有时会中断。当我分析时,我发现多个查询记录在慢查询日志中。其中一个与 joomla 的菜单部分相关的内容如下:

SELECT id FROM jos_menu WHERE menutype = 'mainmenu' AND parent in ( 251,252,253,271,295,296,297,298,299,300,312,347,348,349,350,351,352,356,357,358,389,390,396,397,401,406,411,518,527,582,633,680,681,682,683,684,685,686,689,701,702,703,708,711,743,744,745,746,747,748,749,750,752,761,763,764,808,827,828,829,833,835,838,839,848,904,910,911,912,913,914,915,916,917,933,934,937,957,958,961,962,963,964,965,1029,1030,1035,1041,1043,1044,1045,1047,1071,1104,1107,1109,1110,1116,1118,1126,1131, 1135,1137,1173,1174,1175,1176,1178,1181,1182,1183,1189,1190,1192,1193,1194,1196,1208,1220,1262,1263,1265,1267,1268,1269,1270, 1271,1273,1314,1339,1340,1341,1374,1380,1403,1405,1406,1407,1447,1455,1456,1458,1476,1477,1478,1479,1480,1481,1518,1522,1523, 1524,1529,1543,1562,1586,1598,1599,1600,1601,1611,1612,1615,1627,1628,1636,1637,1638,1639,1640,1641,1645,1646,1667,1685,1689,1690,1691,1692,1702,1707,1741,1752,1766,1777,1778,1779,1853,1854,3869,3877,3884,3885,3887,3888,3889,3892,3897, 3928,3941,3962,3973,3976,4139,4140,4158,4166,4167,4254,4256,4257,4258,4259,4264,4266,4283,4300,4327,4329,4350,4487,4893,4896, 5219,5220,5221,5222,5223,5240,5254,5305,5308,5317,5336,5342,5348,5375,5400,5401,5402,5403,5405,5407,5416,5417,5418,5419,5420, 5471,5475,5511,5512,5513,5515,5516,5530,5533,5538,5563,5582,5592,5594,5598,5599,5600,5604,5605,5606,5607,5608,5609,5610,5611, 5618,5643,5644,5646,5647,5649,5674,5683,5684,5694,5695,5696,5704,5706,5707,5736,5743,5768,5769,5770,5771,5772,5791,5799,5821, 5823,5824,5833,5836,5892,5903,5908,5909,5912,5913,5914,5915,5916,5921,5944,5960,5961,5962,5970,5971,5972,5973,5984,6002,6063, 6064,6065,6066,6067,6070,6071,6072,6073,6074,6088,6132,6139,6146,6150,6173,6182,6187,6189,6193,6194,6196,6197,6204,6208,6210,6211,6212,6213,6221,6226,6237,6238,6244,6246,6247,6249,6252,6294,6305,6306,6315,6408,6409,6410,6411,6412,6413, 6414,6415,6416,6461,6663,6673,6702,6703,6726,6727,6728,6729,6730,6731,6744,6750,6769,6770,6774,6777,6792,6793,6803,6839,6841, 6849,6851)

下面是这个查询的解释结果:

           编号:1
  选择类型:简单
        表:jos_menu
         类型:范围
可能的键:菜单类型,索引父
          键:Index_parent
      关键长度:4
          参考:空
         行数:753
        额外:使用 where
一组中的 1 行(0.00 秒)

我在性能调整任务方面不是那么专家。如何摆脱系统的不良性能?

4

1 回答 1

0

您可以做的一件事是添加适当的索引。为“父”列添加索引,看看它会提高性能。

于 2014-01-03T11:33:44.387 回答