Что я храню
Я пытаюсь сохранить список URL-адресов и ничего больше. Моя цель - иметь список URL-адресов в черном списке, и я могу добавлять в этот список, когда хочу, и я хочу читать из списка с O(1)
временной сложностью, если возможно.
Я прочитал несколько ответов здесь , где было высказано предположение, что может быть хорошей конструкцией создать таблицу только с одним столбцом, если это действительно необходимо.
Как я храню
Конечно, наличие только одного столбца означает сохранение только первичного ключа. В этом случае создается MD5 ha sh URL-адреса, который вставляется в базу данных в качестве первичного ключа. Список может быть очень большим (сотни тысяч), но коллизии маловероятны, поэтому пока они не важны. Так что просто представьте, что этого не произойдет. Я использую MySQL
, если это важно.
Мой вопрос
- Какова временная сложность добавления нового URL-адреса в эту базу данных?
- Что такое временная сложность проверки наличия URL-адреса?
Кроме того, приветствуется любой пример запроса для создания, вставки и обновления таблицы, поскольку я новичок в SQL.