집 >데이터 베이스 >MySQL 튜토리얼 >광고 표시 기능을 구현하기 위해 효율적인 MySQL 테이블 구조를 설계하는 방법은 무엇입니까?
광고 표시 기능을 구현하기 위해 효율적인 MySQL 테이블 구조를 설계하는 방법은 무엇입니까?
광고 표시 기능의 경우 효율적인 MySQL 테이블 구조 설계를 통해 쿼리 및 삽입 작업의 성능을 향상시키고 시스템의 안정성과 응답 속도를 향상시킬 수 있습니다. 다음에서는 광고 표시 기능을 구현하기 위해 효율적인 MySQL 테이블 구조를 설계하는 방법을 자세히 소개하고 해당 코드 예제를 제공합니다.
1. 광고 테이블 디자인
CREATE TABLE Ads (
id INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(255) NOT NULL, content TEXT NOT NULL, image_url VARCHAR(255) NOT NULL, link_url VARCHAR(255) NOT NULL, display_count INT NOT NULL DEFAULT 0, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL
);
ALTER TABLE Ads ADD INDEX idx_display_count (display_count); ALTER TABLE Ads ADD INDEX idx_created_at (created_at); 올바른 광고를 선택하려면 시간, 광고 우선순위 및 노출수를 사용하세요.
SELECT * FROM Ads
created_at AND display_count ORDER BY 우선 순위 DESC LIMIT 1;UPDATE 광고
SET display_count = display_count + 1
WHERE id = {ad_id};
function getAds() {
$query = "SELECT * FROM Ads WHERE created_at < NOW() AND display_count < max_display_count ORDER BY priority DESC LIMIT 1"; // 执行查询... // 返回查询结果
$query = "UPDATE Ads SET display_count = display_count + 1 WHERE id = {$adId}"; // 执行更新... // 返回更新结果
// 샘플 호출
$ad = getAds() // 현재 필요한 광고 가져오기
// 展示广告... updateAdDisplayCount($ad['id']); // 更新广告展示次数}
?>
광고 심사 기능: 광고 테이블에 "상태" 필드를 추가하여 광고의 심사 상태를 표시합니다. 예를 들어, 0은 검토되지 않음을 나타내고 1은 감사됨을 나타냅니다.
광고 만료 기능: 광고 테이블에 "expiration_date" 필드를 추가하여 광고 만료 시간을 나타냅니다. 광고 쿼리 시 광고가 만료되었는지 여부를 확인하는 데 필요합니다.
광고 삭제 기능: '삭제' 필드를 추가하여 광고 삭제 여부를 표시하고 데이터의 물리적 삭제를 방지하며 데이터 복구 및 관리를 용이하게 합니다.
위 내용은 광고 표시 기능을 구현하기 위해 효율적인 MySQL 테이블 구조를 설계하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!