Как ускорить выполнения SQL запросов?
Использовать локальный кэш тоже не очень хороший вариант, т.к. в БД могут писать их других мест, а данные нужны актуальные.
Использовать локальный кеш. Обновляются данные явно не каждые 1мс, за которые вы боретесь.
Обновление - вплоть до из триггера пинать UDF, которая сообщит вашему приложению, что данные в БД обновились.
Можно попробовать так: стоит mysql-мастер с которым работают пользователи, и есть слейв, у которого таблички с типом MEMORY и ваш анализатор трафика юзает слейв. 
Еще хинт - можно предгенерять табличку, там у вас джойнов много - напишите плоскую таблицу, в которую по триггеру на инсерте/апдейте будет складываться все данные. Что бы селект получался простым, типа
"SELECT rules.rule_id " \
"FROM data_flow_rules_DENORMALIZED rules " \
"WHERE rules.ip_v4_address = '{src_ip_v4}' " \
"AND rules.ip_v4_address = '{dst_ip_v4}' " \
"AND rules.name = '{protocol}' " \
"AND rules.target_port = {target_port} " \
"LIMIT 1"
+ индекс на все поля, у вас простое равенство - поможет. не забывайте о селективности индекса (первой в индексе должно идти самое селективное поле)
Кстати, если в индекс последним включить поле rules.rule_id то обращения к табличке вообще происходить не будет, только к индексу :)
Еще откройте для себя EXPLAIN https://dev.mysql.com/doc/refman/5.5/en/explain.html