在MariaDB 10.2之前,系统使用的是MyISAM引擎来管理表格。但是,从MariaDB 10.2开始,InnoDB成为了默认的引擎。
在InnoDB引擎中,搜索非主键列可能会导致性能下降,因为InnoDB使用B树来存储数据,而非主键列需要进行额外的搜索。因此,不同版本的MariaDB需要不同的搜索键来提高查询性能。
以下是示例代码,在MariaDB 10.2及更高版本中查询使用不同的搜索键:
--创建表格 CREATE TABLE contacts ( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(50) NOT NULL, age INT NOT NULL, KEY age_key (age), KEY name_key (name) ) ENGINE=InnoDB;
--使用age作为搜索键 SELECT id, name, email, age FROM contacts WHERE age = 25;
--使用name作为搜索键 SELECT id, name, email, age FROM contacts WHERE name = 'John Doe';
在上述示例代码中,创建了一个名为“contacts”的表格,并为“age”和“name”列添加了搜索键。在查询时,可以根据需要使用不同的搜索键,以获得最佳的性能。