광고 표시 기능을 구현하기 위해 효율적인 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!