MYSQL和PHP获取记录的性能 情景1

MYSQL和PHP获取记录的性能 情景1,php,mysql,Php,Mysql,我有一张桌子,让我们说“会员”。在“成员”表中,我有7个字段(memid、登录名、密码、年龄、城市、电话、国家)。我的表中有10K条记录。我需要取一条记录。所以我使用这样的查询 mysql_query("select * from member where memid=999"); 情景2 我有同一个名为“member”的表,但我像这个member和member\u txt一样拆分表。因此,在我的member\u txt表中,我有memid、年龄、电话、城市、国家),在我的member表中,我

我有一张桌子,让我们说“会员”。在“成员”表中,我有7个字段(memid、登录名、密码、年龄、城市、电话、国家)。我的表中有10K条记录。我需要取一条记录。所以我使用这样的查询

mysql_query("select * from member where memid=999");
情景2 我有同一个名为“member”的表,但我像这个member和member\u txt一样拆分表。因此,在我的member\u txt表中,我有memid、年龄、电话、城市、国家),在我的member表中,我有memid、登录名、密码

快速获取数据的最佳方案是什么?要转到单个表还是将表拆分为两个

注意:我需要获取PHP和MYSQL中的特定数据。请让我知道哪种方法最好。
我们有10K条记录

请将memid设为主键/唯一键,然后使用一个表比使用两个表快。

一般来说,只要使用主键访问10K行,就不会对性能产生太大影响

还要注意,从一个表中获取数据也比从两个表中获取数据快


如果要进一步优化,请使用select语句中的列名而不是*运算符。

为了您自己的健康,请使用单表方法

只要您为
memid
使用主键,事情就会发展得飞快。这是因为
PRIMARY KEY
会自动分配一个索引,该索引基本上会告诉数据的确切位置,并且不需要像其他方法那样遍历数据

索引用于快速查找具有特定列值的行。 如果没有索引,MySQL必须从第一行开始,然后读取 通过整个表查找相关行。越大越好 表中,这项成本越高。如果表中有列的索引 毫无疑问,MySQL可以快速确定要搜索的位置 数据文件的中间部分,而不必查看所有数据。如果 一个表有1000行,这比读取速度至少快100倍 按顺序。如果您需要访问大多数行,则可以更快地访问 按顺序读取,因为这样可以最小化磁盘搜索

您的第二种方法只会使您的系统更加复杂,而且不会带来任何好处


使用场景1。

mem_id是这两个场景中的主键Scenarios@DipenBaskaran那么,最快的办法就是让这一排重新转弯