Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

hiệu suất neo4j so với mysql (nó có thể được cải thiện như thế nào?)

Tôi xin lỗi bạn không thể tạo lại kết quả. Tuy nhiên, trên MacBook Air (1.8 GHz i7, RAM 4 GB) với heap 2 GB, bộ nhớ đệm GCR, nhưng không có bộ nhớ đệm nóng lên và không có điều chỉnh nào khác, với tập dữ liệu có kích thước tương tự (1 triệu người dùng, 50 bạn bè mỗi người) , Tôi liên tục nhận được khoảng 900 mili giây bằng cách sử dụng Khung truyền tải trên 1.9.2:

public class FriendOfAFriendDepth4
{
    private static final TraversalDescription traversalDescription = 
         Traversal.description()
            .depthFirst()
            .uniqueness( Uniqueness.NODE_GLOBAL )
            .relationships( withName( "FRIEND" ), Direction.OUTGOING )
            .evaluator( new Evaluator()
            {
                @Override
                public Evaluation evaluate( Path path )
                {
                    if ( path.length() >= 4 )
                    {
                        return Evaluation.INCLUDE_AND_PRUNE;
                    }
                    return Evaluation.EXCLUDE_AND_CONTINUE;

                }
            } );

    private final Index<Node> userIndex;

    public FriendOfAFriendDepth4( GraphDatabaseService db )
    {
        this.userIndex = db.index().forNodes( "user" );
    }

    public Iterator<Path> getFriends( String name )
    {
        return traversalDescription.traverse( 
            userIndex.get( "name", name ).getSingle() )
                .iterator();
    }

    public int countFriends( String name )
    {
        return  count( traversalDescription.traverse( 
            userIndex.get( "name", name ).getSingle() )
                 .nodes().iterator() );
    }
}

Cypher chậm hơn, nhưng không chậm như bạn đề xuất:khoảng 3 giây:

START person=node:user(name={name})
MATCH (person)-[:FRIEND]->()-[:FRIEND]->()-[:FRIEND]->()-[:FRIEND]->(friend)
RETURN count(friend)

Trân trọng

ian



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chèn mảng json vào cơ sở dữ liệu mysql

  2. Giới thiệu về con trỏ và trình lặp mysql

  3. Tôi không thể lấy biểu mẫu đăng nhập của mình để kết nối tương tác đúng với cơ sở dữ liệu mySQL

  4. Cách nhanh hơn để xóa các hàng phù hợp?

  5. X lần nhập blog cuối cùng - nhưng chỉ một lần cho mỗi người dùng