小编Mic*_*ael的帖子

如何向MySQL表添加索引?

我有一个非常大的MySQL表,大约有150,000行数据.目前,当我尝试并运行时

SELECT * FROM table WHERE id = '1';
Run Code Online (Sandbox Code Playgroud)

代码运行正常,因为ID字段是主索引.但是,最近对于项目的开发,我必须通过另一个字段搜索数据库.例如

SELECT * FROM table WHERE product_id = '1';
Run Code Online (Sandbox Code Playgroud)

此字段以前没有编入索引,但是,我已将其添加为索引,但是当我尝试运行上述查询时,结果非常慢.EXPLAIN查询显示,当我已经添加了一个索引时,product_id字段没有索引,因此查询从20分钟到30分钟的任何位置返回单行.

我的完整EXPLAIN结果是:

| id | select_type | table | type | possible_keys| key  | key_len | ref  | rows  | Extra       |
+----+-------------+-------+------+--------------+------+---------+------+-------+------------------+
|  1 | SIMPLE      | table | ALL  | NULL         | NULL | NULL    | NULL |157211 | Using where |
+----+-------------+-------+------+--------------+------+---------+------+-------+------------------+
Run Code Online (Sandbox Code Playgroud)

注意我刚看了一眼,ID字段存储为INT,而PRODUCT_ID字段存储为VARCHAR,这可能会有所帮助.这可能是问题的根源吗?

mysql indexing optimization row

395
推荐指数
6
解决办法
55万
查看次数

重新定义PHP函数?

如果我有一个功能:

function this($a){
   return $a;
}
Run Code Online (Sandbox Code Playgroud)

如果我想重新定义函数,它会像重写它一样简单吗?

function this($a, $b){  //New this function
   return $a * $b;
}
Run Code Online (Sandbox Code Playgroud)

php function

36
推荐指数
3
解决办法
3万
查看次数

标签 统计

function ×1

indexing ×1

mysql ×1

optimization ×1

php ×1

row ×1