What are the best practices for optimizing search queries in PHP when dealing with multiple database tables?

When dealing with multiple database tables in PHP, it is important to optimize search queries to improve performance. One way to do this is by using JOIN statements to combine related tables in a single query instead of making multiple separate queries. This reduces the number of database calls and can improve efficiency.

// Example of optimizing search query with JOIN statements
$query = "SELECT users.name, orders.order_date 
          FROM users
          JOIN orders ON users.id = orders.user_id
          WHERE users.name LIKE '%John%'";
$result = mysqli_query($connection, $query);

// Process the results
if(mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "Name: " . $row['name'] . " | Order Date: " . $row['order_date'] . "<br>";
    }
} else {
    echo "No results found.";
}