<?php
// db_optimizer.php
// سكربت لتسريع قاعدة البيانات (تحسين + تحديث إحصائيات + تسجيل الاستعلامات البطيئة)

// إعدادات الاتصال بقاعدة البيانات
$host     = "localhost";   // في هوستنجر غالبًا يظل localhost
$user     = "root"; // ضع اسم المستخدم الخاص بقاعدة البيانات
$password = ""; // ضع كلمة المرور
$dbname   = "tornedo";     // ضع اسم قاعدة البيانات

// الاتصال
$conn = new mysqli($host, $user, $password, $dbname);

// التحقق من الاتصال
if ($conn->connect_error) {
    die("فشل الاتصال: " . $conn->connect_error);
}

echo "✅ تم الاتصال بقاعدة البيانات بنجاح.<br>";

// 1. تحسين كل الجداول
$res = $conn->query("SHOW TABLES");
while ($row = $res->fetch_array()) {
    $table = $row[0];
    $conn->query("OPTIMIZE TABLE `$table`");
    $conn->query("ANALYZE TABLE `$table`");
    echo "🔹 تم تحسين وتحديث الجدول: $table <br>";
}

// 2. تسجيل الاستعلامات البطيئة
function logQuery($conn, $sql, $threshold = 1.0) {
    $start = microtime(true);
    $result = $conn->query($sql);
    $time = microtime(true) - $start;

    if ($time > $threshold) {
        $logFile = __DIR__ . "/slow_queries.log";
        $log = "[" . date("Y-m-d H:i:s") . "] Slow query ({$time}s): $sql\n";
        file_put_contents($logFile, $log, FILE_APPEND);
    }

    return $result;
}

// مثال: اختبار استعلام بطيء
logQuery($conn, "SELECT * FROM users WHERE email LIKE '%gmail.com%'");

echo "<br>✅ تم الانتهاء من تحسين قاعدة البيانات وفحص الاستعلامات.";

$conn->close();
?>
