mysql中的搜索文本和数字之间有什么更好的地方?

mysql中的搜索文本和数字之间有什么更好的地方?,mysql,Mysql,mysql中的搜索文本和数字之间有什么更好的地方 例如: 及 用于更快地从数据库加载。两个查询都是按文本搜索的,因为您使用单引号将值括起来。要按数字搜索,不必用引号括起值 要回答有关性能的问题,如果您有大量数据,您应该按主键或索引列进行搜索,以提高速度。在小数据集中,您不会注意到差异,因为简单选择通常在几秒钟内完成。要更快地搜索,您需要通过主键执行搜索操作,该主键搜索数据更快,因为主键是唯一键。您提供的示例都在执行文本搜索…这里您问什么是更好的数字或文本?但要提高where子句的性能,有很多因素

mysql中的搜索文本和数字之间有什么更好的地方

例如:


用于更快地从数据库加载。

两个查询都是按文本搜索的,因为您使用单引号将值括起来。要按数字搜索,不必用引号括起值


要回答有关性能的问题,如果您有大量数据,您应该按主键或索引列进行搜索,以提高速度。在小数据集中,您不会注意到差异,因为简单选择通常在几秒钟内完成。

要更快地搜索,您需要通过主键执行搜索操作,该主键搜索数据更快,因为主键是唯一键。您提供的示例都在执行文本搜索…

这里您问什么是更好的数字或文本?但要提高where子句的性能,有很多因素需要考虑

关于where子句的最大担忧是全表扫描,为了避免这种情况,您必须使用索引。 如果优化器感到困惑或找不到与WHERE子句匹配的适当索引,优化器将读取表中的每一行

无论何时在表上创建任何聚集索引主键,聚集索引都会根据数据行的键值在表或视图中排序和存储数据行。 现在你可以考虑文本或数字 所以,您可以使用数字,因为与文本相比,所需的排序时间更少

where条款的改进事项:

1在where子句中使用主键列会自动显示唯一性和NOTNULL


2如果主键列不可能,则至少在where cluse preference Number中使用的列上有索引,因为排序更快w.r.t大量数据

第二个查询也在搜索文本。该查询在这两种情况下都在搜索文本。在任何情况下,对于这样一个简单的查询,你都不会注意到其中的区别。就像任何与性能相关的问题一样:你必须测量。-马特·鲍尔-你必须测量的意思是什么?例如:$sql=SELECT*从id=12的表中;速度比我的问题中的更快吗?是的,如果你有很多数据。
$sql = "SELECT * FROM table WHERE country = 'Australia' ";
$sql = "SELECT * FROM table WHERE country = '10899' ";