改进MySQL数据库设计
关于如何设计SQLITE3数据库,我有两个问题。我使用数据库的方式如下: 我有一个形容词或者任何一个词,我需要把这个词分解成名词形式。幸运的是,我需要把这个词分解成happya名词&它的一般形式。对于饥饿的人,我需要把它解决为饥饿 问题1:我的大多数SQL查询都会涉及我在名词表中搜索特定的wordrow。哪种SQL表设计最适合我的需要&在搜索/查找速度方面效率更高 问题2:如果每行都有一个唯一的整数ID,当我添加新行时,我需要找到另一行尚未使用的唯一整数ID。在我的例子中,每一行都有一个按升序排列的id,因此对于第1行,id=2,对于第2行=2…第n行=n 在过去,要添加一行,我首先找到最大的唯一ID,然后向其中添加1,然后创建新行。但我曾经听说有一个SQL变量,我想叫做autonumber,它会自动完成这个任务,是真的吗?即,它将自动递增。那么我应该使用它,还是建议我坚持将id作为整数改进MySQL数据库设计,mysql,sql,sqlite,Mysql,Sql,Sqlite,关于如何设计SQLITE3数据库,我有两个问题。我使用数据库的方式如下: 我有一个形容词或者任何一个词,我需要把这个词分解成名词形式。幸运的是,我需要把这个词分解成happya名词&它的一般形式。对于饥饿的人,我需要把它解决为饥饿 问题1:我的大多数SQL查询都会涉及我在名词表中搜索特定的wordrow。哪种SQL表设计最适合我的需要&在搜索/查找速度方面效率更高 问题2:如果每行都有一个唯一的整数ID,当我添加新行时,我需要找到另一行尚未使用的唯一整数ID。在我的例子中,每一行都有一个按升序排
CREATE TABLE NounTable (u_id int PRIMARY KEY, u_word varchar, u_noun varchar);
// Or shd I do this...
CREATE TABLE NounTable (u_id autonumber PRIMARY KEY, u_word varchar, u_noun varchar);
PS:MYSQL和SQLite之间有什么区别吗?也许不同的变量?或者,它们在数据库中存储和查找信息的方式上唯一的区别是什么?在性能方面,如果您在第一个备选方案中为u_单词编制索引,则不会有太大区别。这主要取决于您有哪些其他表格,以及您是要表示成对的单词,还是要表示一个单词及其名词 如果您没有任何特定的理由增加您的ID,您应该使用自动编号。如果手动将密钥增加一,则在自动编号处理IIRC时,您始终会面临竞争条件和碰撞的风险
CREATE TABLE NounTable (u_id int PRIMARY KEY, u_word varchar, u_noun varchar);
// Or shd I do this...
CREATE TABLE NounTable (u_id autonumber PRIMARY KEY, u_word varchar, u_noun varchar);