방문자를위한 데이터 관리PHP와 MySQL. 광고 광고 웹 사이트
/transport/cars/audi/a6
또는
/real-estate/flats/some-city/city-district
cars
및
real-estate
에 대해 별도의 테이블을 계획 예를 들어, URL을 엽니 다 (별도의 테이블에 각 최상위 범주) . URL을 기반으로
(php explode
만들 배열)
$array[0]
- 값에 따라 테이블에 SELECT
그래서 예를 들어
$array[1], $array[2] ...
에 알고 RealEstate
표처럼 보일 수 있습니다 :
IdOfAd | RealEstateType | Location1 | Location2 | TextOfAd | and so on
----------------------------------------------------------------------
1 | flat | City1 | CityDistric1 | text.. |
2 | land | City2 | CityDistric2 | text.. |
그리고 광고를 표시하는 mysql 쿼리는 같이 :
SELECT `TextOfAd`, `and so on...`
WHERE RealEstateType = ? AND Location1 =? AND Location2 = ?
// and possibly additional AND .. AND
LIMIT $start, $limit
성능에 대해 생각해보십시오. 다행히도 활성 광고 수가 길어지기를 바랍니다. (또한 만료 된 광고를 삭제하지 않으려 고하고, 열 값을 0으로 변경하여 SELECT로 표시하지 않고 검색 엔진에서 직접 방문하면 표시합니다.)
예를 들어 테이블의 행 수가 100 000이나 수백만이면 (데이터베이스 디자인을 변경하거나 SELECT
을 다른 방법으로)해야합니까?
성능이 중요하지 않은 다른 테이블로 만료 된 광고를 이동하는 것에 대해 생각해보십시오. 예를 들어, 검색 엔진 사용자는 만료 된 광고가있는 URL로 이동합니다. 먼저 주 테이블을 선택하고 찾지 못하면 테이블에서 만료 된 광고를 선택하십시오. 이것은 어떤 종류의 해결책입니까?
큰 테이블에서는 무료 mysql에서 다른 db로 DB 유형을 변경할 수 있습니다. MySQL은 수십만 개의 레코드로도 잘 작동합니다. –
각 테이블에 수십만 개를 의미합니다 (전체 데이터베이스가 아님)? 확실하지 않으면 mysql에서 변경 ... 아니 지식과 나는 그것이 오랜 시간이 걸릴 것이라고 기대하는 광고의 높은 숫자입니다. 하지만 처음부터 데이터베이스 디자인과 코딩을위한 최적의 솔루션을 선택하고 싶습니다. – user2118559
저는 mysql에서 db로 프로젝트를 진행했습니다. 한 테이블 (하나만)에 300.000 개가 넘는 행이 있습니다. 데이터베이스는 정상적으로 작동하지만 250K 레코드에 도달하면 사람들에게보다 안정적인 데이터베이스를 요청할 수 있습니다. –