Technology development has accelerated the volume growth of complex data, such as images, videos, time series, and georeferenced data. Similarity search is a widely used approach to retrieve complex data, which aims at retrieving similar data according to intrinsic characteristics of the data. Therefore, to facilitate the retrieval of complex data using similarity searches, one needs to organize large collections of data in a way that similar data can be retrieved efficiently. Many access methods were proposed in the literature to speed up similarity data retrieval from large databases. Recently, graph-based methods have emerged as a very efficient alternative for similarity retrieval, with reports indicating those methods outperformed other non-graph-based methods in several scenarios. However, to the best of our knowledge, there is no previous work with experimental analysis on a comprehensive number of graph-based methods using the same search algorithm and execution environment. Our main contribution is a survey on graph-based methods used for similarity searches. We present a review on graph-based methods (types of graphs and search algorithms) as well as a detailed discussion on the applicability of search algorithms (with exact or approximate answers) in each graph type. Our main focus is on static methods in metric spaces. This survey also includes an experimental evaluation of representative graphs implemented in a common platform. We evaluate the relative performance behavior of these graphs concerning the main construction and query parameters for a variety of real-world datasets. We also show results using synthetic datasets evaluating the performance of different graph types according to different dataset features. Our experimental results reinforce the tradeoff between graph construction cost and search performance according to the construction and search parameters.