Nano Hash - криптовалюты, майнинг, программирование

Neo4j занимает меньше времени с более сложным запросом (больше фильтров)

Я профилировал 2 запроса в разделе «Упражнения вводного курса для браузера Neo4j, версия 3.5.3».
Один из запросов кажется мне более сложным, но занимает гораздо меньше времени.

  • Первые фильмы с фильтрами запросов, которые будут выпущены после 2000 года.
  • Второй запрос снова фильтрует по годам, а также фильтрует по актеру Тому Хэнксу.

Первый запрос

PROFILE MATCH (n:Movie)
 WHERE n.released > 2000
 WITH count(*) AS movies
 RETURN movies

Чтобы выполнить 79 дБ обращений, требуется 26 мс, как показано здесь:
введите здесь описание изображения

Второй запрос

PROFILE MATCH (n:Movie)<-[:ACTED_IN]-(p:Person)
 WHERE n.released > 2000 AND p.name = 'Tom Hanks'
 WITH count(*) AS movies
 RETURN movies

Он выполняет больше операций за меньшее время (191 дБ обращений за 5 мс) < img src="https://i.stack.imgur.com/XaOGp.png" alt="введите здесь описание изображения">

Что мне не хватает?

Спасибо!!

08.05.2019

  • Вы выполняли каждый запрос несколько раз (время выполнения одного запроса может сильно различаться)? В любом случае, разница всего в 21 мс не очень существенна. 08.05.2019

Ответы:


1

Вы никогда не должны смотреть на время выполнения, чтобы сравнить 2 запроса.

Время выполнения во многом зависит от общего использования вашего ноутбука (процессор, диск и т. д.).

Чтобы сравнить два запроса, просто взгляните на количество попаданий в базу данных, и вы увидите, что второй запрос имеет большее число.

Попадание в базу данных – это абстрактная единица работы с базой данных.

09.05.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..