我应该在MySQL的这些领域使用AI吗?

时间:2010-02-03 19:09:37

标签: php sql mysql database indexing

我在下面有这个数据库。我想知道如何使用ID来识别每条记录。 一切都来自classified_table! 两个问题:

在这种情况下,我应该在每个PK上使用AI吗?

有人可以给我完整的代码,仅从ad_id(例如“bmw_330ci_8939483”)选择整个分类吗?

我是规范化数据库的新手,并且在数据库工作方面做得很好,所以非常感谢详细的说明......如果你发现这个数据库中有任何“错误”,请告诉我。

category table:
cat_id (PK)
cat_name

category_options table:
option_id (PK)
cat_id (FK)
option_name

option_values table:
value_id (PK)
option_id (FK)
value

classifieds table:
classified_id (PK)
ad_id (VARCHAR) something like "Bmw330ci_28238239832" which will appear in URL
poster_id (FK)
cat_id (FK)
area_id (FK)
headline
description
price
etc....

posters table:
poster_id (PK)
name 
email
tel
password

area table:
area_id (PK)
area
community

由于

2 个答案:

答案 0 :(得分:0)

我会在我会进行大部分搜索的字段上自动增加(AI)。 AI使得返回结果变得更容易,但是存在可能导致数据库速度变慢的性能问题。

关于查询,我不确定您想要返回什么,但此查询返回给定classified_id

ad_id
SELECT classified_id FROM classifieds_table WHERE ad_id = "bmw_330ci_8939483" 

要在分类广告代码和列广告ID 中执行单个插入,值 audi a4 将为:

INSERT INTO classifieds_table ad_id VALUES "audi_a4"

或者使用同一个表,多个字段和多个值的多个插入将是:

INSERT INTO classifieds_table (ad_id, poster_id) VALUES ("audi_a4", 10)

注意我遗漏了classified_id,因为如果您选择自动递增,它会自动分配一个值,而不会明确指定一个值。

查看MySQL :: Building a Database-Driven Website using PHP and MySQL了解更多教程。

答案 1 :(得分:0)

对PK使用自动增量听起来很合理,因为听起来你已经想要使用代理键并且自动增量使得插入非常简单。值得一看有关how to pragmatically choose what primary key to use的讨论。